1. 程式人生 > >VMWare Workstation 配置docker多macvlan網絡方法

VMWare Workstation 配置docker多macvlan網絡方法

windows doc man 虛擬vlan box style 方法 現在 icmp

VMWare Workstation 配置docker多macvlan網絡方法

答案就是.....換VirtualBox

噗...

VMWare Workstation host-only網絡,三臺虛機gw, host1, host2

根據https://www.cnblogs.com/CloudMan6/p/7383919.html說明,在三臺虛機上建立兩個macvlan網絡,vlan id為10和20

現在是

同host、同vlan下的容器可以互通ping,這好理解,都走enp0s8.10接口(vlan id 10)

但是不同host,同vlan下的容器,ping不通,應該是c1--->(host1)enp0s8.10---->802.1Q封裝VLAN TAG---->(host1)enp0s8--->VMWare虛擬交換機--->(host2)enp0s8--->解VLAN TAG--->(host2)enp0s8.1--->c3

不同host,不同vlan下的容器,按說明配置了第三臺host的兩塊虛擬vlan網卡作為網關,配了iptables規則,也是ping不通。

一頓測試發現,c1 ping c3時,(host1)enp0s 可以抓到帶VLAN TAG的ICMP包,宿主機Windows在host-only網絡的網卡抓包,能抓到不帶VLAN TAG的ICMP包(開了混雜模式),但是host2、同一host-only網絡的其他host都抓不到該ICMP包。

c1 ping c3因為屬於同一vlan,不走網關,c1 ping c4,不同vlan需要過網關才行,發現網關也ping不同,抓包發現網關所在所在虛機gw,也是抓不到該icmp包。

所以我懷疑是VMWare Workstation host-only虛擬交換機對帶有VLAN TAG的數據包支持不好?或者不支持?表現為向虛擬交換機的某個port發送帶有VLAN TAG的數據包,虛擬交換機並沒有轉發這個包,其他host也就收不到這個包了。

谷歌半天沒找到所以然,,,,

完了我看教程用的virtualbox,就換一下試試,果然行。。。。

VMWare Workstation 配置docker多macvlan網絡方法