1. 程式人生 > >準備 macvlan 環境 - 每天5分鐘玩轉 Docker 容器技術(54)

準備 macvlan 環境 - 每天5分鐘玩轉 Docker 容器技術(54)

docker 教程 容器

除了 overlay,docker 還開發了另一個支持跨主機容器網絡的 driver:macvlan。

macvlan 本身是 linxu kernel 模塊,其功能是允許在同一個物理網卡上配置多個 MAC 地址,即多個 interface,每個 interface 可以配置自己的 IP。macvlan 本質上是一種網卡虛擬化技術,Docker 用 macvlan 實現容器網絡就不奇怪了。

macvlan 的最大優點是性能極好,相比其他實現,macvlan 不需要創建 Linux bridge,而是直接通過以太 interface 連接到物理網絡。下面我們就來創建一個 macvlan 網絡。

準備實驗環境

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

ip link set enp0s9 promisc on

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

技術分享


因為 host1 和 host2 是 VirtualBox 虛擬機,還需要在網卡配置選項頁中設置混雜模式。

技術分享

當前實驗環境如圖所示:

技術分享

準備就緒,下一節我們創建 macvlan 網絡。

技術分享

準備 macvlan 環境 - 每天5分鐘玩轉 Docker 容器技術(54)