ブリッジネットワーク#

LXD でのネットワークの設定タイプの 1 つとして、 LXD はネットワークブリッジの作成と管理をサポートしています。

ネットワークブリッジはインスタンス NIC が接続できる仮想的な L2 イーサネットスイッチを作成し、インスタンスが他のインスタンスやホストと通信できるようにします。 LXD のブリッジは下層のネイティブな Linux のブリッジと Open vSwitch を利用できます。

bridge ネットワークはそれを利用する複数のインスタンスを接続する L2 ブリッジを作成しそれらのインスタンスを単一の L2 ネットワークセグメントにします。 LXD で作成されたブリッジは "managed" です。 つまり、ブリッジインタフェース自体を作成するのに加えて、LXD さらに DHCP、 IPv6 ルート広告と DNS サービスを提供するローカルの dnsmasq プロセスをセットアップします。 デフォルトではブリッジに対して NAT も行います。

LXD ブリッジネットワークでファイアウォールを設定するための手順については ファイアウォールを設定するには を参照してください。

IPv6 プリフィクスサイズ#

ブリッジネットワークで IPv6 を使用する場合、 64 のプリフィクスサイズを使用するべきです。

より大きなサブネット (つまり 64 より小さいプリフィクスを使用する) も正常に動くはずですが、通常それらは SLAAC には役立ちません。

より小さなサブネットも (IPv6 の割当にはステートフル DHCPv6 を使用する場合) 理論上は可能ですが、 dnsmasq に適切にサポートされていないので問題が起きるかもしれません。より小さなサブネットを作らなければならない場合は、静的割当を使うか別のルータ広告デーモンを使用してください。

設定オプション#

ブリッジネットワークでは現在以下の設定キーネームスペースがサポートされています。

  • bgp (BGP ピア設定)

  • bridge (L2 インタフェースの設定)

  • dns (DNS サーバと名前解決の設定)

  • fan (Ubuntu FAN overlay に特有な設定)

  • ipv4 (L3 IPv4 設定)

  • ipv6 (L3 IPv6 設定)

  • maas (MAAS ネットワーク識別)

  • security (ネットワーク ACL 設定)

  • raw (raw の設定のファイルの内容)

  • tunnel (ホスト間のトンネリングの設定)

  • user (key/value の自由形式のユーザメタデータ)

注釈

ネットワークのサブネット情報を指定する箇所では LXD は CIDR 表記 (例えば 192.0.2.0/242001:db8::/32) を使用します。これは単一のアドレスが必要なケース (例えば、トンネルのローカル/リモートアドレス、インスタンスに適用する NAT アドレスや特定のアドレス) では適用されません。

ブリッジネットワークタイプには以下の設定オプションがあります。

キー

条件

デフォルト

説明

bgp.peers.NAME.address

string

bgp server

-

ピアのアドレス (IPv4 か IPv6)

bgp.peers.NAME.asn

integer

bgp server

-

ピアの AS 番号

bgp.peers.NAME.password

string

bgp server

- (パスワード無し)

ピアのセッションパスワード(省略可能)

bgp.ipv4.nexthop

string

bgp server

ローカルアドレス

広告されたプリフィクスの next-hop をオーバーライド

bgp.ipv6.nexthop

string

bgp server

ローカルアドレス

広告されたプリフィクスの next-hop をオーバーライド

bridge.driver

string

-

native

ブリッジのドライバ ("native" か "openvswitch")

bridge.external_interfaces

string

-

-

ブリッジに含める未設定のネットワークインタフェースのカンマ区切りリスト

bridge.hwaddr

string

-

-

ブリッジの MAC アドレス

bridge.mode

string

-

standard

ブリッジの稼働モード ("standard" か "fan")

bridge.mtu

integer

-

1500

ブリッジの MTU (tunnel か fan かでデフォルト値は変わります)

dns.domain

string

-

lxd

DHCP のクライアントに広告し DNS の名前解決に使用するドメイン

dns.mode

string

-

managed

DNS の登録モード ("none" は DNS レコード無し、 "managed" は LXD が静的レコードを生成、 "dynamic" はクライアントがレコードを生成)

dns.search

string

-

-

完全なドメインサーチのカンマ区切りリスト(デフォルトは dns.domain の値)

dns.zone.forward

string

-

managed

正引き DNS レコード用の DNS ゾーン名

dns.zone.reverse.ipv4

string

-

managed

IPv4 逆引き DNS レコード用の DNS ゾーン名

dns.zone.reverse.ipv6

string

-

managed

IPv6 逆引き DNS レコード用の DNS ゾーン名

fan.overlay_subnet

string

ファンモード

240.0.0.0/8

FAN の overlay として使用するサブネット (CIDR 形式)

fan.type

string

ファンモード

vxlan

FAN のトンネル・タイプ ("vxlan" か "ipip")

fan.underlay_subnet

string

ファンモード

自動(作成時のみ)

FAN の underlay として使用するサブネット (CIDR 形式)。デフォルトのゲートウェイサブネットを使うには "auto" を指定。

ipv4.address

string

標準モード

自動(作成時のみ)

ブリッジの IPv4 アドレス (CIDR 形式)。 IPv4 をオフにするには "none" 、新しいランダムな未使用のサブネットを生成するには "auto" を指定。

ipv4.dhcp

boolean

ipv4 アドレス

true

DHCP を使ってアドレスを割り当てるかどうか

ipv4.dhcp.expiry

string

ipv4 dhcp

1h

DHCP リースの有効期限

ipv4.dhcp.gateway

string

ipv4 dhcp

ipv4.address

サブネットのゲートウェイのアドレス

ipv4.dhcp.ranges

string

ipv4 dhcp

全てのアドレス

DHCP に使用する IPv4 の範囲 (開始-終了 形式) のカンマ区切りリスト

ipv4.firewall

boolean

ipv4 アドレス

true

このネットワークに対するファイアウォールのフィルタリングルールを生成するかどうか

ipv4.nat

boolean

ipv4 アドレス

false

NAT にするかどうか(通常のブリッジではデフォルト値は true で ipv4.address が生成され、fan ブリッジでは常にデフォルト値は true になります)

ipv4.nat.address

string

ipv4 アドレス

-

ブリッジからの送信時に使うソースアドレス

ipv4.nat.order

string

ipv4 アドレス

before

必要な NAT のルールを既存のルールの前に追加するか後に追加するか

ipv4.ovn.ranges

string

-

-

子供の OVN ネットワークルーターに使用する IPv4 アドレスの範囲(開始-終了 形式)のカンマ区切りリスト

ipv4.routes

string

ipv4 アドレス

-

ブリッジへルーティングする追加の IPv4 CIDR サブネットのカンマ区切りリスト

ipv4.routing

boolean

ipv4 アドレス

true

ブリッジの内外にトラフィックをルーティングするかどうか

ipv6.address

string

標準モード

自動(作成時のみ)

ブリッジの IPv6 アドレス (CIDR 形式)。 IPv6 をオフにするには "none" 、新しいランダムな未使用のサブネットを生成するには "auto" を指定。

ipv6.dhcp

boolean

ipv6 アドレス

true

DHCP 上で追加のネットワーク設定を提供するかどうか

ipv6.dhcp.expiry

string

ipv6 dhcp

1h

DHCP リースの有効期限

ipv6.dhcp.ranges

string

ipv6 ステートフル dhcp

全てのアドレス

DHCP に使用する IPv6 の範囲 (開始-終了 形式) のカンマ区切りリスト

ipv6.dhcp.stateful

boolean

ipv6 dhcp

false

DHCP を使ってアドレスを割り当てるかどうか

ipv6.firewall

boolean

ipv6 アドレス

true

このネットワークに対するファイアウォールのフィルタリングルールを生成するかどうか

ipv6.nat

boolean

ipv6 アドレス

false

NAT にするかどうか (未設定の場合はデフォルト値は true になりランダムな ipv6.address が生成されます)

ipv6.nat.address

string

ipv6 アドレス

-

ブリッジからの送信時に使うソースアドレス

ipv6.nat.order

string

ipv6 アドレス

before

必要な NAT のルールを既存のルールの前に追加するか後に追加するか

ipv6.ovn.ranges

string

-

-

子供の OVN ネットワークルーターに使用する IPv6 アドレスの範囲(開始-終了 形式) のカンマ区切りリスト

ipv6.routes

string

ipv6 アドレス

-

ブリッジへルーティングする追加の IPv4 CIDR サブネットのカンマ区切りリスト

ipv6.routing

boolean

ipv6 アドレス

true

ブリッジの内外にトラフィックをルーティングするかどうか

maas.subnet.ipv4

string

ipv4 アドレス

-

インスタンスを登録する MAAS IPv4 サブネット (NIC で network プロパティを使う場合に有効)

maas.subnet.ipv6

string

ipv6 アドレス

-

インスタンスを登録する MAAS IPv6 サブネット (NIC で network プロパティを使う場合に有効)

raw.dnsmasq

string

-

-

設定に追加する dnsmasq の設定ファイル

security.acls

string

-

-

このネットワークに接続されたNICに適用するカンマ区切りのネットワークACL(ブリッジの制限参照)

security.acls.default.ingress.action

string

security.acls

reject

どの ACL ルールにもマッチしない ingress トラフィックに使うアクション

security.acls.default.egress.action

string

security.acls

reject

どの ACL ルールにもマッチしない egress トラフィックに使うアクション

security.acls.default.ingress.logged

boolean

security.acls

false

どの ACL ルールにもマッチしない ingress トラフィックをログ出力するかどうか

security.acls.default.egress.logged

boolean

security.acls

false

どの ACL ルールにもマッチしない egress トラフィックをログ出力するかどうか

tunnel.NAME.group

string

vxlan

239.0.0.1

vxlan のマルチキャスト設定 (local と remote が未設定の場合に使われます)

tunnel.NAME.id

integer

vxlan

0

vxlan トンネルに使用するトンネル ID

tunnel.NAME.interface

string

vxlan

-

トンネルに使用するホスト・インタフェース

tunnel.NAME.local

string

gre か vxlan

-

トンネルに使用するローカルアドレス (マルチキャスト vxlan の場合は不要)

tunnel.NAME.port

integer

vxlan

0

vxlan トンネルに使用するポート

tunnel.NAME.protocol

string

標準モード

-

トンネリングのプロトコル ("vxlan" か "gre")

tunnel.NAME.remote

string

gre か vxlan

-

トンネルに使用するリモートアドレス (マルチキャスト vxlan の場合は不要)

tunnel.NAME.ttl

integer

vxlan

1

マルチキャストルーティングトポロジーに使用する固有の TTL

user.*

string

-

-

ユーザ指定の自由形式のキー/バリューペア

サポートされている機能#

ブリッジネットワークタイプでは以下の機能がサポートされています。