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後沒有到達網關。
謝謝!
任何人都可以請解釋爲什麼這個問題被拒絕投票嗎?我試圖儘可能具體地解決這個問題。 –