0
我在ubuntu 16.04上使用KVM。我无法从VM内部ping到互联网(VM内部没有互联网连接)。我的调试步骤迄今:虚拟网桥为什么不转发数据包到网关?
在VM内我跑
traceroute 216.58.218.110
traceroute to 216.58.218.110 (216.58.218.110), 30 hops max, 46 byte packets 1 192.168.122.1 (192.168.122.1) 0.141 ms 0.272 ms 0.180 ms 2 192.168.122.1 (192.168.122.1) 0.387 ms 0.033 ms 0.200 ms
在我的主机操作系统,我跑
ifconfig
virbr0 Link encap:Ethernet HWaddr fe:54:00:0f:d3:58 inet addr:192.168.122.1 Bcast:192.168.122.255 Mask:255.255.255.0 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:46792 errors:0 dropped:0 overruns:0 frame:0 TX packets:3325 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:2379378 (2.3 MB) TX bytes:166020 (166.0 KB)
这意味着包正在从容器转发到virbr0。
接下来,我运行
brctl show
以查看virbr0连接的接口。bridge name bridge id STP enabled interfaces br0 8000.000000000000 no br1 8000.000000000000 no docker0 8000.024226c559f9 no virbr0 8000.fe54000fd358 yes vnet0 virbr1 8000.52540059b8dd yes virbr1-nic vnet1
我检查
ifconfig
,看它是否存在vnet0 Link encap:Ethernet HWaddr fe:54:00:0f:d3:58 inet6 addr: fe80::fc54:ff:fe0f:d358/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:205 errors:0 dropped:0 overruns:0 frame:0 TX packets:565 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:14280 (14.2 KB) TX bytes:31810 (31.8 KB)
如果包十字vnet0我的理解是,它应该到达网关的IP。要检查网关IP地址是什么,我跑
route -n
Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 0.0.0.0 10.40.1.254 0.0.0.0 UG 0 0 0 eno1 10.0.0.0 10.18.44.1 255.0.0.0 UG 0 0 0 br0 10.18.44.0 0.0.0.0 255.255.255.192 U 0 0 0 br0 10.40.0.0 0.0.0.0 255.255.254.0 U 0 0 0 eno1 161.26.0.0 10.18.44.1 255.255.0.0 UG 0 0 0 br0 169.254.169.254 10.40.1.254 255.255.255.255 UGH 0 0 0 eno1 172.17.0.0 0.0.0.0 255.255.0.0 U 0 0 0 docker0 192.168.42.0 0.0.0.0 255.255.255.0 U 0 0 0 virbr1 192.168.122.0 0.0.0.0 255.255.255.0 U 0 0 0 virbr0 208.43.222.48 0.0.0.0 255.255.255.248 U 0 0 0 br1
最后我跑
traceroute 216.58.218.110
从主机操作系统。这让下面的输出:traceroute to 216.58.218.110 (216.58.218.110), 30 hops max, 60 byte packets 1 10.40.1.254 (10.40.1.254) 0.094 ms 0.064 ms 0.046 ms 2 srx3600-vl208-gw.net.tacc.utexas.edu (129.114.108.254) 0.529 ms 0.499 ms 0.495 ms 3 ex9214-vl654-gw.net.tacc.utexas.edu (129.114.0.185) 0.882 ms 0.847 ms 0.849 ms 4 mx480-vl667-gw.net.tacc.utexas.edu (129.114.0.165) 0.860 ms 0.860 ms 0.848 ms 5 hstn-txbb-core-et-1-1-0-703.tx-bb.net (192.124.228.97) 5.742 ms 5.716 ms 5.854 ms 6 74.200.189.29 (74.200.189.29) 10.619 ms 10.724 ms 10.918 ms 7 74.200.189.251 (74.200.189.251) 26.455 ms 10.817 ms 10.800 ms 8 72.14.215.83 (72.14.215.83) 10.828 ms 10.744 ms 10.808 ms 9 108.170.240.129 (108.170.240.129) 10.990 ms
这意味着没有防火墙/代理阻止访问互联网。任何人都可以请帮我在这里?我不知道为什么数据包在到达virbr0后没有到达网关。
谢谢!
任何人都可以请解释为什么这个问题被拒绝投票吗?我试图尽可能具体地解决这个问题。 –