※最新の記事を投稿しました。
はじめに
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 |
+-------------+---------+-------------+------+-----------+-----------+