Ubuntu 15.04 上の LXC コンテナとブリッジ接続する
Ubuntu 15.04 上の LXC コンテナとブリッジ接続したときのメモ。 ホストの IP は 192.168.0.100 とする。
元の /etc/network/interfaces
/etc/network/interfaces は
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet static
address 192.168.0.100
network 192.168.0.0
netmask 255.255.255.0
broadcast 192.168.0.255
gateway 192.168.0.1
dns-nameservers 192.168.0.1
と設定されている。
/etc/network/interfaces のブリッジ接続の設定
まず
brctl addbr br0
とする。/etc/network/interfaces を
auto lo
iface lo inet loopback
auto br0
iface br0 inet static
address 192.168.0.100
netmask 255.255.255.0
gateway 192.168.0.1
dns-nameservers 192.168.0.1
bridge_ports eth0
bridge_stp off
bridge_maxwait 10
auto eth0
iface eth0 inet static
address 0.0.0.0
とする。
ifdown eth0
ifup br0
として設定を反映させる。実際には、SSH で作業していたので
reboot
で再起動した。
LXC コンテナの設定
CONTAINER_NAME という一般ユーザのコンテナに対して設定した。 ~/.local/share/lxc/CONTAINER_NAME/config の
lxc.network.link = lxcbr0
の行を
lxc.network.link = br0
に変える。
同様に、デフォルトの設定を変えるなら ~/.config/lxc/default.conf の lxc.network.link を br0 に変更する。
lxc.network.type = veth
lxc.network.link = br0
lxc.network.flags = up
lxc.network.hwaddr = 00:16:3e:xx:xx:xx
lxc.id_map = u 0 100000 65536
lxc.id_map = g 0 100000 65536
/etc/lxc/lxc-usernet の設定
/etc/lxc/lxc-usernet に
<USERNAME> veth br0 10
を追加する。