FutureNet

NXR,WXRシリーズ

LXC編

2. LXC設定(マルチコンテナ対応機種)

2-6. ホスト側の設定(LXCでフレームを透過させる)

この設定例では仮想インタフェース「veth」を2つ設定します。そしてコンテナでブリッジを設定することによりホストのethernet0インタフェースで受信したフレームをコンテナで透過し、veth1インタフェースで受信します。またホスト側ではveth1インタフェースとethernet1インタフェースでルーティングできるように設定します。
※コンテナ側のブリッジ設定は補足をご参照下さい。

 

【対象機種】NXR-G200シリーズ

 

【 ネットワーク構成 】

  • 使用するルートファイルシステムが保存されたディレクトリ名を「ubuntu-14.04.5-armhf」とします。

 

【 設定例 】

nxrg240#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
nxrg240(config)#lxc container 1
nxrg240(config-lxc)#mount rootfs disk1:/ubuntu-14.04.5-armhf
nxrg240(config-lxc)#exit
nxrg240(config)#interface bridge 0
nxrg240(config-bridge)#exit
nxrg240(config)#interface ethernet 0
nxrg240(config-if)#bridge-group 0 port 1
nxrg240(config-if)#exit
nxrg240(config)#interface veth 0
nxrg240(config-veth)#lxc-link 1
nxrg240(config-veth)#bridge-group 0 port 2
nxrg240(config-veth)#exit
nxrg240(config)#interface veth 1
nxrg240(config-veth)#ip address 192.168.10.1/24
nxrg240(config-veth)#veth hw-address [MACアドレス]
nxrg240(config-veth)#lxc-link 1
nxrg240(config-veth)#exit
nxrg240(config)#interface ethernet 1
nxrg240(config-if)#ip address 192.168.20.1/24
nxrg240(config-if)#exit
nxrg240(config)#exit
nxrg240#save config

【 設定例解説 】

1. <LXCコンテナ設定>
nxrg240(config)#lxc container 1

LXCコンテナを設定します。

nxrg240(config-lxc)#mount rootfs disk1:/ubuntu-14.04.5-armhf

「ubuntu-14.04.5-armhf」ディレクトリに保存されているルートファイルシステムをマウントするように設定します。

 

2. <bridge0インタフェース設定>
nxrg240(config)#interface bridge 0

bridge0インタフェースを設定します。

 

3. <ethernet0インタフェース設定>
nxrg240(config)#interface ethernet 0
nxrg240(config-if)#bridge-group 0 port 1

ethernet0インタフェースでブリッジグループを設定します。
(☞) ブリッジグループの番号はbridgeインタフェースの番号と同一のものを設定します。またポートはブリッジグループ内でユニークなものを設定する必要があります。

 

4. <veth0インタフェース設定>
nxrg240(config)#interface veth 0

veth0インタフェースを設定します。

nxrg240(config-veth)#lxc-link 1

lxc container1との仮想ブリッジを設定します。

nxrg240(config-veth)#bridge-group 0 port 2

ブリッジグループを設定します。

 

5. <veth1インタフェース設定>
nxrg240(config)#interface veth 1
nxrg240(config-veth)#ip address 192.168.10.1/24

veth1インタフェースのIPアドレスを設定します。

nxrg240(config-veth)#veth hw-address [MACアドレス]

veth1インタフェースのMACアドレスを設定します。
(☞) vethインタフェースにIPアドレスを設定する場合はMACアドレスも指定して下さい。

nxrg240(config-veth)#lxc-link 1

lxc container1との仮想ブリッジを設定します。

 

6. <ethernet1インタフェース設定>
nxrg240(config)#interface ethernet 1
nxrg240(config-if)#ip address 192.168.20.1/24

ethernet1インタフェースのIPアドレスを設定します。

 

【 補足 】

この例ではコンテナ側でopenvswitch-switchをインストールしてフレームを透過できるように設定します。

<openvswitch-switchのインストール>
$sudo apt-get install openvswitch-switch

openvswitch-switchをインストールします。

 

<openvswitch-switchの設定>
$sudo ovs-vsctl add-br ovsbr0

ovsbr0インターフェースを作成します。

$sudo ovs-vsctl add-port ovsbr0 eth0
$sudo ovs-vsctl add-port ovsbr0 eth1

ovsbr0インターフェースにeth0,eth1を登録します。