容器網路(六)準備 macvlan 環境【49】
阿新 • • 發佈:2020-12-07
(七)準備 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 模式已經生效。
當前實驗環境如圖所示: