溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

如何進行macvlan 網(wǎng)絡(luò)隔離和連通

發(fā)布時間:2021-11-19 10:31:20 來源:億速云 閱讀:294 作者:柒染 欄目:云計算

如何進行macvlan 網(wǎng)絡(luò)隔離和連通,針對這個問題,這篇文章詳細(xì)介紹了相對應(yīng)的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。

驗證 macvlan 之間的連通性

bbox1 能 ping 通 bbox3,bbox2 能 ping 通 bbox4。即:同一 macvlan 網(wǎng)絡(luò)能通信。

bbox1 無法 ping 通 bbox2 和 bbox4。即:不同 macvlan 網(wǎng)絡(luò)之間不能通信。但更準(zhǔn)確的說法應(yīng)該是:不同 macvlan 網(wǎng)絡(luò)不能 在二層上 通信。在三層上可以通過網(wǎng)關(guān)將 macvlan 連通,下面我們就啟用網(wǎng)關(guān)。

我們會將 Host 192.168.56.101 配置成一個虛擬路由器,設(shè)置網(wǎng)關(guān)并轉(zhuǎn)發(fā) VLAN10 和 VLAN20 的流量。當(dāng)然也可以使用物理路由器達(dá)到同樣的效果。首先確保操作系統(tǒng) IP Forwarding 已經(jīng)啟用。

輸出為 1 則表示啟用,如果為 0 可通過如下命令啟用:

sysctl -w net.ipv4.ip_forward=1

在 /etc/network/interfaces 中配置 vlan sub-interface:

auto eth3

iface eth3 inet manual

auto eth3.10

iface eth3.10 inet manual

vlan-raw-device eth3

auto eth3.20

iface eth3.20 inet manual

vlan-raw-device eth3


啟用 sub-interface:

ifup eth3.10

ifup eth3.20


將網(wǎng)關(guān) IP 配置到 sub-interface:

ifconfig eth3.10 172.16.10.1 netmask 255.255.255.0 up

ifconfig eth3.20 172.16.20.1 netmask 255.255.255.0 up


添加 iptables 規(guī)則,轉(zhuǎn)發(fā)不同 VLAN 的數(shù)據(jù)包。

iptables -t nat -A POSTROUTING -o eth3.10 -j MASQUERADE

iptables -t nat -A POSTROUTING -o eth3.20 -j MASQUERADE

iptables -A FORWARD -i eth3.10 -o eth3.20 -m state --state RELATED,ESTABLISHED -j ACCEPT

iptables -A FORWARD -i eth3.20 -o eth3.10 -m state --state RELATED,ESTABLISHED -j ACCEPT

iptables -A FORWARD -i eth3.10 -o eth3.20 -j ACCEPT

iptables -A FORWARD -i eth3.20 -o eth3.10 -j ACCEPT

現(xiàn)在 host1 上位于 mac_net10 的 bbox1 已經(jīng)可以與 host2 上位于 mac_net20 的 bbox4 通信了。

下面我們分析數(shù)據(jù)包是如何從 bbox1(172.16.10.10)到達(dá) bbox4(172.16.20.11)的。

① 因為 bbox1 與 bbox4 在不同的 IP 網(wǎng)段,跟據(jù) bbox1 的路由表:

數(shù)據(jù)包將發(fā)送到網(wǎng)關(guān) 172.16.10.1。

② 路由器從 eth3.10 收到數(shù)據(jù)包,發(fā)現(xiàn)目的地址是 172.16.20.11,查看自己的路由表。

于是將數(shù)據(jù)包從 eth3.20 轉(zhuǎn)發(fā)出去。

③ 通過 ARP 記錄的信息,路由器能夠得知 172.16.20.11 在 host2 上,于是將數(shù)據(jù)包發(fā)送給 host2。

④ host2 根據(jù)目的地址和 VLAN 信息將數(shù)據(jù)包發(fā)送給 bbox4。

macvlan 網(wǎng)絡(luò)的連通和隔離完全依賴 VLAN、IP subnet 和路由,docker 本身不做任何限制,用戶可以像管理傳統(tǒng) VLAN 網(wǎng)絡(luò)那樣管理 macvlan。

關(guān)于如何進行macvlan 網(wǎng)絡(luò)隔離和連通問題的解答就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關(guān)注億速云行業(yè)資訊頻道了解更多相關(guān)知識。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI