當前位置:
首頁 > 知識 > macvlan 網路隔離和連通-每天5分鐘玩轉 Dock

macvlan 網路隔離和連通-每天5分鐘玩轉 Dock

我們創建了兩個 macvlan 並部署了容器,網路結構如下:

macvlan 網路隔離和連通-每天5分鐘玩轉 Dock

本節驗證 macvlan 之間的連通性。

macvlan 網路隔離和連通-每天5分鐘玩轉 Dock

macvlan 網路隔離和連通-每天5分鐘玩轉 Dock

bbox1 能 ping 通 bbox3,bbox2 能 ping 通 bbox4。即:同一 macvlan 網路能通信。

macvlan 網路隔離和連通-每天5分鐘玩轉 Dock

macvlan 網路隔離和連通-每天5分鐘玩轉 Dock

bbox1 無法 ping 通 bbox2 和 bbox4。即:不同 macvlan 網路之間不能通信。但更準確的說法應該是:不同 macvlan 網路不能在二層上通信。在三層上可以通過網關將 macvlan 連通,下面我們就啟用網關。

我們會將 Host 192.168.56.101 配置成一個虛擬路由器,設置網關並轉發 VLAN10 和 VLAN20 的流量。當然也可以使用物理路由器達到同樣的效果。首先確保操作系統 IP Forwarding 已經啟用。

macvlan 網路隔離和連通-每天5分鐘玩轉 Dock

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

sysctl -w net.ipv4.ip_forward=1

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

auto eth2

iface eth2 inet manual

auto eth2.10

iface eth2.10 inet manual

vlan-raw-device eth2

auto eth2.20

iface eth2.20 inet manual

vlan-raw-device eth2

啟用 sub-interface:

ifup eth2.10

ifup eth2.20

將網關 IP 配置到 sub-interface:

ifconfig eth2.10 172.16.10.1 netmask 255.255.255.0 up

ifconfig eth2.20 172.16.20.1 netmask 255.255.255.0 up

添加 iptables 規則,轉發不同 VLAN 的數據包。

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

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

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

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

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

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

當前網路拓撲如下圖所示:

macvlan 網路隔離和連通-每天5分鐘玩轉 Dock

現在 host1 上位於 mac_net10 的 bbox1 已經可以與 host2 上位於 mac_net20 的 bbox4 通信了。

macvlan 網路隔離和連通-每天5分鐘玩轉 Dock

下面我們分析數據包是如何從 bbox1(172.16.10.10)到達 bbox4(172.16.20.11)的。整個過程如下圖所示:

macvlan 網路隔離和連通-每天5分鐘玩轉 Dock

① 因為 bbox1 與 bbox4 在不同的 IP 網段,跟據 bbox1 的路由表:

macvlan 網路隔離和連通-每天5分鐘玩轉 Dock

數據包將發送到網關 172.16.10.1。

② 路由器從 eth2.10 收到數據包,發現目的地址是 172.16.20.11,查看自己的路由表:

macvlan 網路隔離和連通-每天5分鐘玩轉 Dock

於是將數據包從 eth2.20 轉發出去。

③ 通過 ARP 記錄的信息,路由器能夠得知 172.16.20.11 在 host2 上,於是將數據包發送給 host2。

④ host2 根據目的地址和 VLAN 信息將數據包發送給 bbox4。

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

文章摘自博客園


更多精彩內容,訪問中公優就業官網:http://www.ujiuye.com/

給你一個0元學習的機會:http://www.ujiuye.com/zt/qgjx/?wt.bd=lsh11tt

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 IT優就業 的精彩文章:

CO函數庫源碼解析
Linux IO 實時監控iostat命令詳解
.Net Reactor 5脫殼教程

TAG:IT優就業 |

您可能感興趣

ADSactly Game Review-外星人:隔離
OpenStack-Neutron的資源隔離機制
Mozilla 推出網站隔離功能 Project Fission
Firefox 推出新的擴展,專為隔離 Facebook 跟蹤
Firefox瀏覽器推出專門擴展以隔離Facebook跟蹤
spring-cloud 中 zuul 的兩種隔離機制實驗
Viacoin,24s極速區塊+隔離見證+閃電網路=100萬TPS
如何看待Coinbase和Bitfinex實施隔離見證
treechada防晒隔離,性價比最高的隔離
Bitcoin core錢包0.16.0版本上線,全面支持隔離見證
Jonald Fyookball:隔離見證摧毀了比特幣最主要的安全機制之一
新版嘉娜寶Dew Beatute防晒隔離上市了
Pipx:在隔離環境中安裝和運行 Python 應用
Pipx通過隔離的環境安裝和運行Python應用
ADI用於Microsemi SiC功率模塊的隔離驅動器板加快產品上市時間
Paul&Joe 搪瓷隔離妝前乳——美妝界的小清新!
除了sofina隔離,還有這些sofina家的單品值得入手!
Chrome瀏覽器安全新功能:網站隔離
搞笑的弱密碼殭屍網路|英國1/3警員可打擊網路犯罪|Fortinet收購微隔離安全公司
PI智能照明安全隔離型LED驅動器IC LYTSwitch?-6,世強備貨充足