LXDでブリッジ接続する方法

  • 11
    いいね
  • 0
    コメント
この記事は最終更新日から1年以上が経過しています。

はじめに

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         |
+-------------+---------+-------------+------+-----------+-----------+