1. 程式人生 > 實用技巧 >容器網路(六)準備 macvlan 環境【49】

容器網路(六)準備 macvlan 環境【49】

(七)準備 macvlan 環境

​ 除了 overlay,docker 還開發了另一個支援跨主機容器網路的 driver:macvlan。macvlan 本身是 linxu kernel 模組,其功能是允許在同一個物理網絡卡上配置多個 MAC 地址,即多個 interface,每個 interface 可以配置自己的 IP。macvlan 本質上是一種網絡卡虛擬化技術,Docker 用 macvlan 實現容器網路就不奇怪了。macvlan 的最大優點是效能極好,相比其他實現,macvlan 不需要建立 Linux bridge,而是直接通過以太 interface 連線到物理網路。下面我們就來建立一個 macvlan 網路。

(1)準備實驗環境

​ 我們會使用 host1 和 host2 上單獨的網絡卡 enp0s9 建立 macvlan。為保證多個 MAC 地址的網路包都可以從 enp0s9 通過,我們需要開啟網絡卡的混雜模式。

我們會使用 host1 和 host2 上單獨的網絡卡 enp0s9 建立 macvlan。為保證多個 MAC 地址的網路包都可以從 enp0s9 通過,我們需要開啟網絡卡的混雜模式。

ip link set ens33 promisc on
root@host1:~# ip link show ens38
3: ens38: <BROADCAST,MULTICAST,PROMISC,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP mode DEFAULT group default qlen 1000
    link/ether 00:0c:29:65:18:67 brd ff:ff:ff:ff:ff:ff
root@host1:~# 

確保 en33 狀態 UP 並且 promisc 模式已經生效。

當前實驗環境如圖所示: