macvlan:ドッキングウィンドウは、ドライバのホスト間で別のコンテナのネットワークサポートを開発しました。
その機能は、同一の物理NIC、インターフェイスのすなわち複数のMACアドレスの複数を可能にすることで、カーネルモジュール、linxu自体macvlan、各インターフェースは独自のIPを使用して構成することができます。NICはmacvlan自然の仮想化技術である、macvlanとドッカーコンテナが達成ネットワークは驚くべきことではありません。
最大の利点のmacvlanは、Linuxブリッジを作成する必要はなく、直接イーサネットインターフェースを介して物理ネットワークに接続されていないmacvlan、他の実装と比較して、優れた性能です。ここでは、macvlanネットワークを作成する必要があります。
テスト環境を準備します
私たちは、fdfs1とfdfs2別のネットワークカードを使用するにeth0 macvlanを作成します。MACアドレスからネットワーク・パケットを複数確保するために、我々は、カードを開く必要がプロミスキャスモードでのeth0することができます
上のIPリンクセットのeth0 promisc無差別 [FDFS @ルート - 1〜#のIP] 1 LO:<LOOPBACK、UP、LOWER_UP> MTU 65536のqdisc NOQUEUE状態UNKNOWNグループのデフォルトQLEN 1000 リンク /ループバック00:00:00:00:00:00 BRD 00:00:00:00:00:00 INET 127.0。0.1 / 8 範囲ホストのLO 永久永久preferred_lft valid_lft INET6 :: 1 / 128 スコープホスト 永久preferred_lft永久valid_lft 2:eth0の:<ブロードキャスト、マルチキャスト、PROMISC、UP、LOWER_UP> MTU 1500 QLEN状態UPグループのデフォルトpfifo_fastなqdisc 1000 リンク /エーテル52:54:00 :3E:3C:EF BRD FF:FF:FF:FF:FF:FF INET 192.168。16.6 / 24 BRD 192.168。16.255 noprefixroute eth0のグローバルスコープ valid_lft永遠preferred_lft永遠 FE80 :: INET6 5054:FF:fe3e:3cef / 64スコープリンク valid_lftは永遠に永遠にpreferred_lft
macvlanカードを作成し、両方のホスト上で次のコマンドを実行します(私たちは、VLANの設定を行うためのKVMホストではありません、IP設定のmacvlan刻まホスト)
ドッキングウィンドウのネットワークは、-d macvlan --subnet =作成192.168。16.0 / 24 --gateway = 192.168。16.1 -o親= eth0のmanet_1
2つの高山コンテナのpingテストを開始
[ルートfdfs- @ 1#]ドッキングウィンドウのランd = --network manet_1 --ip =〜] 192.168。16111 --name test1の高山睡眠 10000 58c9e529e491689b6b4f2b6dc6c58103b4b9b84a77db2df7047eb5513205f2d7 [ルート@ FDF - 2〜]#]ドッキングウィンドウのランd = --network manet_1 --ip = 192.168。16112 --name test2は高山睡眠 10000 d5e23bf52dd149259ff5fee8cd777c0cee40fb789bc507e10b2cc54813db9e0d
#ドッカー幹部のTEST1ピング[FDFS-1〜@ルート] 192.168.16.112
PING 192.168.16.112(192.168.16.112):56データバイト
192.168.16.112から64バイト:= 64時間SEQ = 0 TTL = 0.370 MS
192.168から64のバイト.16.112:SEQ = 1、TTL = 64時間= 0.364秒
192.168.16.112から64バイト:配列= 2 TTL = 64時間= 0.439秒
#ドッカー幹部のTEST2ピング[FDFS-2〜@ルート] 192.168.16.111
PING 192.168.16.111(192.168.16.111):56データバイト
192.168.16.111から64バイト:= 64時間SEQ = 0 TTL = 1.418 MS
192.168から64のバイト.16.111:SEQ = 1、TTL = 64時間= 0.403秒
192.168.16.111から64バイト:配列= 2 TTL = 64時間= 0.409秒
成功したクロスホスト通信
目に見える、eth0のコンテナが通じ仮想インターフェイスのうちホストeth0のmacvlanです。ホストに直接接続されたコンテナ・インターフェース・カード、この溶液は、ポートマッピングおよびNATを介して他の独立したホストとネットワークに差がないと(ゲートウェイ限り)外部ネットワークに直接通信することなく容器こととすることができます。
macvlanカードが唯一のネットワークmacvlanを作成できることを意味し、排他的なカードを開催します
しかし、NICのホストの数は、複数のネットワークをサポートするために、どのように、限られているmacvlan
幸いなことにのみ(eth0など)インターフェースに接続されてもよいしないmacvlan、(例えばeth0.xxxとして)サブインターフェースに接続されてもよいです。
VLAN IDによってVLAN論理ネットワークに物理層4094ネットワークとすることができる一般的に使用されるネットワーク現代のネットワーク仮想化技術であり、これらの論理ネットワークは床の上に分離されて、各論理ネットワーク(すなわち、VLAN)値の違いは、VLAN ID 1〜4094。
Linuxのネットワークカードは、(VLANをサポートすることができますapt-get install vlan
)、同じインターフェイスが送信したデータパケットに複数のVLANを受け取ることができますが、前提は、サブインターフェイスVLANのを作成することです。
例えば、我々は両方がVLAN10とVLAN20 eth0をサポートしたい、あなたはサブインターフェースeth0.10とeth0.20を作成する必要があります。
スイッチ上のポートは、単一のVLANのためのデータを送受信できるかどうか、およびポートのアクセスモードで、マルチVLANをサポートしている場合、比較トランクモード、そう前提に次のテストします:
スイッチのトランクポートに接続することはeth0。しかし、我々はVirtualBoxの仮想マシンを使用している、あなたは追加の設定は必要ありません。