VMWare Workstation 配置docker多macvlan網絡方法
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網絡方法