LXDのネットワークで固定IPを振る

技術情報

はじめに

LXDで簡単にコンテナを追加していくは便利ですが、コンテナがたくさんあると、ネットワークの設定もする必要がありますよね。取り合ず作ってデフォルトでという運用ではダメな時もたくさん出てきます。

ブリッジで固定IPを振る

LXDで標準に入っているlxdbr0でもいいんですが、とりあえずブリッジを一つ作りましょう。lxdbr30という名前でip = 192.168.30.1/24で、DHCPとして192.168.30.2-192.168.30.64を割り当てられるブリッジを作ります。

$ lxc network create lxdbr30 \
ipv4.address=192.168.30.1/24 \
ipv4.dhcp.ranges=192.168.30.2-192.168.30.64

次に、コンテナと今作成したブリッジを接続します。ここではコンテナをinstanceという名前とします。インタフェースeth1にip 192.168.30.2を割り当てます。

# コンテナにブリッジを接続する
# lxc network attach ブリッジ名 コンテナ名 インタフェース名

$ lxc network attach lxdbr30 instance eth1

# 接続したインタフェースにIPをdhcpで設定する。
# lxc config device set コンテナ名 インタフェース名 ipv4.address IPアドレス
$ lxc config device set instance eth1 ipv4.address 192.168.30.2

# デバイスが増えたのでコンテナを再起動
$ lxc restart instance

# コンテナのdhclientを実行
$ lxc exec instance dhclient eth1
$ lxc list
+-----------------+---------+---------------------+-----------------------------------------------+-----------+-----------+
|      NAME       |  STATE  |        IPV4         |                     IPV6                      |   TYPE    | SNAPSHOTS |
+-----------------+---------+---------------------+-----------------------------------------------+-----------+-----------+
| instance        | RUNNING | 192.168.30.2 (eth1) | fd42:a84:4e0b:d83:216:3eff:fe21:59a0 (eth0)   | CONTAINER | 0         |
|                 |         | 10.121.3.160 (eth0) | fd42:1c17:95ff:839f:216:3eff:fed9:e128 (eth1) |           |           |
+-----------------+---------+---------------------+-----------------------------------------------+-----------+-----------+

# このままだと再起動時にIPが消えてしまうので、コンテナ内に設定ファイルを記述します。
# 記述方法はコンテナのOSによります。
# centos7なら/etc/sysconfig/network-scripts/ifcfg-eth0をifcfg-eth1にコピーしてdhcp clientの設定を書きます。

追加したネットワークを削除する場合は

# lxc network detach ブリッジ名 コンテナ名 インタフェース名
$ lxc network detach lxdbr30 instance eth1

参考使用

第535回 LXD 3.0のネットワーク設定

コメント

タイトルとURLをコピーしました