概要
- LXDのコンテナをホストと同じネットワークで動かしたい
- Ubuntu 18.04からはネットワークの設定がnetplanに変更
- LXDは未設定
手順
bridge-utils
のインストール
$ sudo apt install bridge-utils
netplanの設定
/etc/netplan/50-cloud-init.yaml
を以下のように設定。
この例では、もともとのNICインターフェースはenp3s0
という名前で、
新たにbr0
というブリッジを作成。
ホストのネットワーク設定は下記のようになる。
- IPアドレス:
192.168.10.232
- ネットマスク:
255.255.255.0
- ゲートウェイ:
192.168.10.253
- DNS:
192.168.10.234
,192.168.10.236
/etc/netplan/50-cloud-init.yaml
network:
ethernets:
enp3s0:
dhcp4: false
bridges:
br0:
interfaces:
- enp3s0
dhcp4: false
addresses:
- 192.168.10.232/24
gateway4: 192.168.10.253
nameservers:
addresses:
- 192.168.10.236
- 192.168.10.234
parameters:
forward-delay: 0
stp: false
optional: true
version: 2
設定ファイルの内容をnetplan apply
で適用し、ip a
で確認します。
$ sudo netplan apply
$ ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: enp3s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq master br0 state UP group default qlen 1000
link/ether 00:21:5a:f3:49:86 brd ff:ff:ff:ff:ff:ff
4: br0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
link/ether 42:c3:b5:d3:6d:98 brd ff:ff:ff:ff:ff:ff
inet 192.168.10.232/24 brd 192.168.10.255 scope global br0
valid_lft forever preferred_lft forever
inet6 fe80::40c3:b5ff:fed3:6d98/64 scope link
valid_lft forever preferred_lft forever
5: enp5s0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000
link/ether 00:21:5a:f3:49:84 brd ff:ff:ff:ff:ff:ff
LXDの初期設定
lxd init
として、LXDの初期設定を行う。
途中、先ほど作成したブリッジbr0
を利用するように設定。
-
Would you like to create a new network bridge? (yes/no) [default=yes]
:no
と入力 -
Would you like to configure LXD to use an existing bridge or host interface? (yes/no) [default=no]
:yes
と入力 -
Name of the existing bridge or host interface
:br0
と入力
$ sudo lxd init
Would you like to use LXD clustering? (yes/no) [default=no]:
Do you want to configure a new storage pool? (yes/no) [default=yes]:
Name of the new storage pool [default=default]:
Name of the storage backend to use (btrfs, dir, lvm) [default=btrfs]: dir
Would you like to connect to a MAAS server? (yes/no) [default=no]: no
Would you like to create a new network bridge? (yes/no) [default=yes]: no
Would you like to configure LXD to use an existing bridge or host interface? (yes/no) [default=no]: yes
Name of the existing bridge or host interface: br0
Is this interface connected to your MAAS server? (yes/no) [default=yes]: no
Would you like LXD to be available over the network? (yes/no) [default=no]: no
Would you like stale cached images to be updated automatically? (yes/no) [default=yes]
Would you like a YAML "lxd init" preseed to be printed? (yes/no) [default=no]:
$ lxc version
Client version: 3.0.0
Server version: 3.0.0
これにて完了。