はじめに
LXDでは、LXCと同様デフォルトではlxcbr0というインターフェースが参照され、ゲスト(コンテナ)側にはDHCPで10.0.3.xというIPアドレスが割り当てられます。
LXDでブリッジ接続を利用したい(物理NICと同じセグメントのIPアドレスを利用したい、グローバルIPアドレスを利用したい)場合は、以下の設定を行うことで利用可能となります。
手順
- 下記はUbuntu 14.04 LTSの場合の設定例となります。
- LXDは事前にインストール済みであることとします。
ブリッジインターフェースを追加する
/etc/network/interfaces を以下の通り設定します。IPアドレス、サブネット等は環境に合わせて適宜変更します。
auto lo iface lo inet loopback auto p1p1 iface p1p1 inet manual auto br0 iface br0 inet static address 192.168.1.100 netmask 255.255.255.0 network 192.168.1.0 broadcast 192.168.1.255 gateway 192.168.1.254 dns-nameservers 8.8.8.8 8.8.4.4 bridge_ports p1p1 bridge_stp off bridge_fd 0 bridge_maxwait 0
lxcのprofileを変更します。
以下のコマンドを実行すると、登録されているprofileを確認することができます。
# lxc profile list default migratable
今回は、defaultを変更します。デフォルトのプロファイルですので、これを変更することで、基本的には全てのコンテナがブリッジ接続になります。
# lxc profile edit default
上記コマンドを実行するとviが起動しますので、以下「変更後」のとおり変更します。(parentをlxcbr0→br0に変更します)
変更前
name: default config: {} devices: eth0: nictype: bridged parent: lxcbr0 type: nic
変更後
name: default config: {} devices: eth0: nictype: bridged parent: br0 type: nic
結果
変更前
# lxc list +-------------+---------+-----------+------+-----------+-----------+ | NAME | STATE | IPV4 | IPV6 | EPHEMERAL | SNAPSHOTS | +-------------+---------+-----------+------+-----------+-----------+ | centos-test | RUNNING | 10.0.3.54 | | NO | 0 | +-------------+---------+-----------+------+-----------+-----------+
変更後
ブリッジ側(物理NIC側)にDHCPサーバ(ブロードバンドルーター等)が存在する場合は、そのIPアドレスが割り当てられます。
ゲストに対して固定IPを割り当てたい場合は、ゲスト側で通常のLinux(CentOS,Ubuntu等)と同じ要領でネットワーク設定を行います。
# lxc list +-------------+---------+-------------+------+-----------+-----------+ | NAME | STATE | IPV4 | IPV6 | EPHEMERAL | SNAPSHOTS | +-------------+---------+-------------+------+-----------+-----------+ | centos-test | RUNNING | 192.168.1.6 | | NO | 0 | +-------------+---------+-------------+------+-----------+-----------+