タイプ: nic
#
注釈
nic
デバイスタイプはコンテナとVMの両方でサポートされます。
ほとんどのNICはコンテナとVMの両方でホットプラグをサポートします。 例外は各NICタイプの説明を参照してください。
ネットワークデバイス(ネットワークインタフェースコントローラーやNICとも呼びます)はネットワークへの接続を提供します。 LXDはさまざまな異なるタイプのネットワークデバイス(NICタイプ)をサポートします。
nictype
対 network
#
インスタンスにネットワークデバイスを追加する際には、追加したいデバイスのタイプを選択するのに2つの方法があります。nictype
プロパティを指定するかnetwork
プロパティを使うかです。
これらの2つのデバイスオプションは相互排他であり、デバイスを作成時にどちらか1つのみ指定可能です。
しかし、network
オプションを指定する際には、nictype
オプションはネットワークタイプから自動的に導出されることに注意してください。
nictype
nictype
デバイスオプションを使用する際は、LXDに管理されていないネットワークインタフェースを指定できます。 このため、LXD がネットワークインタフェースを使用するために必要な全ての情報を指定する必要があります。この方法を使用する際は、
nictype
オプションはデバイス作成時に指定する必要があり、作成後は変更できません。network
network
デバイスオプションを使用する際は、NICは既存の管理されたネットワークにリンクされます。 この場合、LXDはネットワークについて必要な情報を全て持っているので、デバイス追加時にはネットワーク名を指定するだけでよいです。この方法を使用する際は、
nictype
オプションはLXDが自動的に導出します。 値は読み取り専用で変更できません。ネットワークから継承される他のデバイスオプションはNIC固有のデバイスオプションの「管理」カラムで「yes」と記載されています。
network
の方法を使う場合、NICのこれらのオプションを直接カスタマイズはできません。
詳細な情報はネットワークについてを参照してください。
利用可能なNIC#
次のNICはnictype
かnetwork
オプションを使って追加できます。
bridged
: ホスト上に存在する既存のブリッジを使い、ホストのブリッジをインスタンスに接続する仮想デバイスペアを作成します。macvlan
: 既存のネットワークデバイスをベースにMACアドレスが異なる新しいネットワークデバイスを作成します。sriov
: SR-IOVが有効な物理ネットワークデバイスの仮想ファンクション(virtual function)をインスタンスにパススルーします。physical
: ホストの物理デバイスをインスタンスにパススルーします。 対象のデバイスはホスト上では見えなくなり、インスタンス内に出現します。
次のNICはnetwork
オプションでのみ追加できます。
ovn
: 既存のOVNネットワークを使用し、インスタンスが接続する仮想デバイスペアを作成します。
次のNICはnictype
オプションでのみ追加できます。
ipvlan
: 既存のネットワークデバイスをベースにMACアドレスは同じですがIPアドレスが異なる新しいネットワークデバイスを作成します。p2p
: 仮想デバイスペアを作成し、片方をインスタンス内に置き、残りの片方をホスト上に残します。routed
: 仮想デバイスペアを作成し、ホストからインスタンスに繋いで静的ルートとプロキシARP/NDPエントリーを作成します。これにより指定された親インタフェースのネットワークにインスタンスが参加できるようになります。
利用可能なデバイスオプションはNICタイプによって異なり、以下のセクションの表に一覧表示されます。
nictype
: bridged
#
注釈
このNICタイプはnictype
オプションかnetwork
オプションで選択できます。
bridged
NICはホストの既存のブリッジを使用し、ホストのブリッジをインスタンスに接続するための仮想デバイスのペアを作成します。
デバイスオプション#
bridged
タイプのNICデバイスには以下のデバイスオプションがあります。
キー |
型 |
デフォルト値 |
管理 |
説明 |
---|---|---|---|---|
|
integer |
- |
no |
VMのブート優先度(高いほうが先にブート) |
|
string |
ランダムに割り当て |
no |
ホスト内でのインタフェースの名前 |
|
string |
ランダムに割り当て |
no |
新しいインタフェースのMACアドレス |
|
string |
- |
no |
DHCPでインスタンスに割り当てるIPv4アドレス( |
|
string |
- |
no |
ホスト上でNICに追加するIPv4静的ルートのカンマ区切りリスト |
|
string |
- |
no |
NICにルーティングしアップリンクのネットワーク(BGP)で公開するIPv4静的ルートのカンマ区切りリスト |
|
string |
- |
no |
DHCPでインスタンスに割り当てるIPv6アドレス( |
|
string |
- |
no |
ホスト上でNICに追加するIPv6静的ルートのカンマ区切りリスト |
|
string |
- |
no |
NICにルーティングしアップリンクのネットワーク(BGP)で公開するIPv6静的ルートのカンマ区切りリスト |
|
string |
- |
no |
外向きトラフィックのI/O制限値(さまざまな単位が使用可能、ストレージとネットワーク制限の単位参照) |
|
string |
- |
no |
内向きトラフィックのI/O制限値(さまざまな単位が使用可能、ストレージとネットワーク制限の単位参照) |
|
string |
- |
no |
内向きと外向きの両方のトラフィックI/O制限値( |
|
string |
- |
yes |
インスタンスを登録するMAAS IPv4サブネット |
|
string |
- |
yes |
インスタンスを登録するMAAS IPv6サブネット |
|
integer |
親の MTU |
yes |
新しいインタフェースのMTU |
|
string |
カーネルが割り当て |
no |
インスタンス内でのインタフェースの名前 |
|
string |
- |
no |
( |
|
string |
- |
yes |
ホストデバイスの名前( |
|
integer |
- |
no |
NICの送信キューの長さ |
|
bool |
|
no |
インスタンスが他のインスタンスのIPv4アドレスになりすますのを防ぐ(これを設定すると |
|
bool |
|
no |
インスタンスが他のインスタンスのIPv6アドレスになりすますのを防ぐ(これを設定すると |
|
bool |
|
no |
インスタンスが他のインスタンスのMACアドレスになりすますのを防ぐ |
|
bool |
|
no |
NICがポート隔離を有効にしたネットワーク内の他のNICと通信するのを防ぐ |
|
integer |
- |
no |
タグなしのトラフィックに使用するVLAN ID(デフォルトのVLANからポートを削除するには |
|
integer |
- |
no |
タグありのトラフィックに参加するVLAN IDまたはVLANの範囲のカンマ区切りリスト |
nictype
: macvlan
#
注釈
このNICタイプはnictype
オプションかnetwork
オプションで選択できます。
macvlan
NICは既存のNICをベースにしますが、MACアドレスが異なる新しいネットワークデバイスをセットアップします。
デバイスオプション#
macvlan
タイプのNICデバイスには以下のデバイスオプションがあります。
キー |
型 |
デフォルト値 |
管理 |
説明 |
---|---|---|---|---|
|
integer |
- |
no |
VMのブート優先度(高いほうが先にブート) |
|
bool |
|
no |
GARP VLAN Registration Protocolを使ってVLANを登録する |
|
string |
ランダムに割り当て |
no |
新しいインタフェースのMACアドレス |
|
string |
- |
yes |
インスタンスを登録するMAAS IPv4サブネット |
|
string |
- |
yes |
インスタンスを登録するMAAS IPv6サブネット |
|
integer |
親の MTU |
yes |
新しいインタフェースのMTU |
|
string |
カーネルが割り当て |
no |
インスタンス内部でのインタフェース名 |
|
string |
- |
no |
( |
|
string |
- |
yes |
ホストデバイスの名前( |
|
integer |
- |
no |
アタッチ先のVLAN ID |
nictype
: sriov
#
注釈
このNICタイプはnictype
オプションかnetwork
オプションで選択できます。
sriov
NICはSR-IOVを有効にした物理ネットワークデバイスの仮想ファンクションをインスタンスにパススルーします。
SR-IOVを有効にしたネットワークデバイスは一組の仮想ファンクション(VF)をネットワークデバイスの単一の物理ファンクション(PF)に関連付けます。 PFは標準的なPCIe関数です。 一方、VFはデータの移動に最適化された非常に軽量なPCIe関数です。 PFのプロパティを変えるのを防ぐため、VFの構成機能は限定されています。
VFはシステムには通常のPCIeデバイスのように見えますので、通常の物理デバイスと全く同じようにインスタンスにパススルーできます。
- VFの割り当て
sriov
インタフェースタイプはparent
プロパティを通してシステム上のSR-IOVを有効にしたネットワークデバイスの名前を渡されることを想定しています。 するとLXDはシステム上の任意の利用可能なVFをチェックします。デフォルトでは、LXDは見つけた最初の未使用なVFを割り当てます。 有効になっているものが1つもないか、有効なVFが全て使用中の場合、サポートされているVFの数を最大に上げて最初の未使用なVFを使用します。 全ての利用可能なVFが使用中か、カーネルまたはカードがVFの数の増加をサポートしない場合は、LXDはエラーを返します。
注釈
LXDに特定のVFを使わせたい場合、
sriov
NICの代わりにphysical
NICを使用し、parent
オプションをVF名に設定してください。
デバイスオプション#
sriov
タイプのNICデバイスには以下のデバイスオプションがあります。
キー |
型 |
デフォルト値 |
管理 |
説明 |
---|---|---|---|---|
|
integer |
- |
no |
VMのブート優先度(高いほうが先にブート) |
|
string |
ランダムに割り当て |
no |
新しいインタフェースのMACアドレス |
|
string |
- |
yes |
インスタンスを登録するMAAS IPv4サブネット |
|
string |
- |
yes |
インスタンスを登録するMAAS IPv6サブネット |
|
integer |
カーネルが割り当て |
yes |
新しいインタフェースのMTU |
|
string |
カーネルが割り当て |
no |
インスタンス内部でのインタフェース名 |
|
string |
- |
no |
( |
|
string |
- |
yes |
ホストデバイスの名前( |
|
bool |
|
no |
インスタンスが他のインスタンスのMACアドレスになりすますのを防ぐ |
|
integer |
- |
no |
アタッチ先のVLAN ID |
nictype
: ovn
#
注釈
このNICタイプは
network
オプションでのみ選択できます。このNICタイプはコンテナでのみホットプラグをサポートし、VM ではサポートしません。
ovn
NICは既存のOVNネットワークを使用し、それにインスタンスが接続する仮想デバイスペアを作成します。
- SR-IOVハードウェアアクセラレーション
acceleration=sriov
を使用するには、LXDホスト内のEthernetスイッチデバイスのドライバモデル(switchdev
)をサポートする互換性のあるSR-IOV物理NICを持っている必要があります。 LXDは物理NIC(PF)がswitchdev
モードに設定され、OVN統合OVSブリッジに接続され、1つ以上の仮想ファンクション(VF)がアクティブになっていることを前提とします。これを実現するには、基本的な前提条件となる以下のセットアップ手順に従ってください。
PFとVFをセットアップする
PF上でいくつかのVFをアクティベートし(以下の例では
enp9s0f0np0
とし、PCIアドレスは0000:09:00.0
とします)、アンバインドします。switchdev
モードとPF上のhw-tc-offload
を有効にします。VFをリバインドします。
echo 4 > /sys/bus/pci/devices/0000:09:00.0/sriov_numvfs for i in $(lspci -nnn | grep "Virtual Function" | cut -d' ' -f1); do echo 0000:$i > /sys/bus/pci/drivers/mlx5_core/unbind; done devlink dev eswitch set pci/0000:09:00.0 mode switchdev ethtool -K enp9s0f0np0 hw-tc-offload on for i in $(lspci -nnn | grep "Virtual Function" | cut -d' ' -f1); do echo 0000:$i > /sys/bus/pci/drivers/mlx5_core/bind; done
ハードウェアオフロードを有効にし、統合ブリッジ(通常
br-int
と呼ばれます)に PF NICを追加してOVSをセットアップします。ovs-vsctl set open_vswitch . other_config:hw-offload=true systemctl restart openvswitch-switch ovs-vsctl add-port br-int enp9s0f0np0 ip link set enp9s0f0np0 up
- VDPAハードウェアアクセラレーション
acceleration=vdpa
を使用するには互換性のあるVDPA物理NICが必要です。 セットアップ手順はSR-IOVハードウェアアクセラレーションと同様ですが、さらにvhost_vdpa
モジュールをセットアップし、利用可能なVDPA管理デバイスがあることを確認する必要があります:modprobe vhost_vdpa && vdpa mgmtdev show
デバイスオプション#
sriov
タイプのNICデバイスには以下のデバイスオプションがあります。
キー |
型 |
デフォルト値 |
管理 |
説明 |
---|---|---|---|---|
|
string |
|
no |
ハードウェアオフローディングを有効にする( |
|
integer |
- |
no |
VMのブート優先度(高いほうが先にブート) |
|
string |
ランダムに割り当て |
no |
ホスト内部でのインタフェース名 |
|
string |
ランダムに割り当て |
no |
新しいインタフェースのMACアドレス |
|
string |
- |
no |
DHCPでインスタンスに割り当てるIPv4アドレス |
|
string |
- |
no |
NICへルーティングするIPv4静的ルートのカンマ区切りリスト |
|
string |
- |
no |
NICへのルーティングとアップリンクネットワークでの公開に使用するIPv4静的ルートのカンマ区切りリスト |
|
string |
- |
no |
DHCPでインスタンスに割り当てるIPv6アドレス |
|
string |
- |
no |
NICへルーティングするIPv6静的ルートのカンマ区切りリスト |
|
string |
- |
no |
NICへのルーティングとアップリンクネットワークでの公開に使用するIPv6静的ルートのカンマ区切りリスト |
|
string |
カーネルが割り当て |
no |
インスタンス内部でのインタフェース名 |
|
string |
- |
no |
このNICをどの親NICの下にネストするか( |
|
string |
- |
yes |
デバイスの接続先の管理されたネットワーク(必須) |
|
string |
- |
no |
適用するネットワークACLのカンマ区切りリスト |
|
string |
|
no |
どのACLルールにもマッチしない外向きトラフィックに使うアクション |
|
bool |
|
no |
どのACLルールにもマッチしない外向きトラフィックをログ出力するかどうか |
|
string |
|
no |
どのACLルールにもマッチしない内向きトラフィックに使うアクション |
|
bool |
|
no |
どのACLルールにもマッチしない内向きトラフィックをログ出力するかどうか |
|
integer |
- |
no |
ネストする際に使用する VLAN ID ( |
nictype
: physical
#
注釈
このNICタイプは
nictype
オプションまたはnetwork
オプションで選択できます。それぞれの親デバイスに対して
physical
NIC は1つだけ持つことができます。
physical
NICはホストからパススルーされるそのままの物理デバイスを提供します。
対象のデバイスはホストから消失し、インスタンス内に出現します(これは各ターゲットデバイスにphysical
NICは1つだけ持つことができることを意味します)。
デバイスオプション#
physical
タイプのNICデバイスには以下のデバイスオプションがあります。
キー |
型 |
デフォルト値 |
管理 |
説明 |
---|---|---|---|---|
|
integer |
- |
no |
VMのブート優先度(高いほうが先にブート) |
|
bool |
|
no |
GARP VLAN Registration Protocolを使ってVLANを登録する |
|
string |
ランダムに割り当て |
no |
新しいインタフェースのMACアドレス |
|
string |
- |
no |
インスタンスを登録するMAAS IPv4サブネット |
|
string |
- |
no |
インスタンスを登録するMAAS IPv6サブネット |
|
integer |
親の MTU |
no |
新しいインタフェースのMTU |
|
string |
カーネルが割り当て |
no |
インスタンス内部でのインタフェース名 |
|
string |
- |
no |
デバイスのリンク先( |
|
string |
- |
yes |
ホストデバイスの名前(必須) |
|
integer |
- |
no |
アタッチ先のVLAN ID |
nictype
: ipvlan
#
注釈
このNICタイプはコンテナのみで利用でき、仮想マシンでは利用できません。
このNICタイプは
nictype
オプションでのみ選択できます。このNICタイプはホットプラグをサポートしません。
ipvlan
NICは既存のネットワークデバイスを元に、同じMACアドレスですがIPアドレスは異なるような新しいネットワークデバイスをセットアップします。
LXDは現状L2とL3SモードでIPVLANをサポートします。
このモードでは、ゲートウェイはLXDにより自動的に設定されますが、コンテナが起動する前にipv4.address
とipv6.address
の設定の1つあるいは両方を使うことによりIPアドレスを手動で指定する必要があります。
- DNS
ネームサーバは自動的には設定されないので、コンテナ内部で設定する必要があります。 このためには、以下の
sysctl
の設定をしてください。IPv4アドレスを使用する場合
net.ipv4.conf.<parent>.forwarding=1
IPv6アドレスを使用する場合
net.ipv6.conf.<parent>.forwarding=1 net.ipv6.conf.<parent>.proxy_ndp=1
デバイスオプション#
ipvlan
タイプのNICデバイスには以下のデバイスオプションがあります。
キー |
型 |
デフォルト値 |
説明 |
---|---|---|---|
|
bool |
|
GARP VLAN Registration Protocolを使ってVLANを登録する |
|
string |
ランダムに割り当て |
新しいインタフェースのMACアドレス |
|
string |
- |
インスタンスに追加するIPv4静的アドレスのカンマ区切りリスト( |
|
string |
|
|
|
integer |
- |
(メインのルーティングテーブルに加えて)IPv4の静的ルートを追加する先のカスタムポリシー・ルーティングテーブルID |
|
string |
- |
インスタンスに追加するIPv6静的アドレスのカンマ区切りリスト( |
|
string |
|
|
|
integer |
- |
(メインのルーティングテーブルに加えて)IPv6の静的ルートを追加する先のカスタムポリシー・ルーティングテーブルID |
|
string |
|
IPVLANのモード( |
|
integer |
親の MTU |
新しいインタフェースのMTU |
|
string |
カーネルが割り当て |
インスタンス内部でのインタフェース名 |
|
integer |
- |
NICの送信キューの長さ |
|
string |
- |
ホストデバイスの名前(必須) |
|
integer |
- |
アタッチ先のVLAN ID |
nictype
: p2p
#
注釈
このNICタイプはnictype
オプションでのみ選択できます。
p2p
NICは仮想デバイスペアを作成し、片方はインスタンス内に配置し、もう片方はホストに残します。
デバイスオプション#
p2p
タイプのNICデバイスには以下のデバイスオプションがあります。
キー |
型 |
デフォルト値 |
説明 |
---|---|---|---|
|
integer |
- |
VMのブート優先度 (高いほうが先にブート) |
|
string |
ランダムに割り当て |
ホスト内でのインタフェースの名前 |
|
string |
ランダムに割り当て |
新しいインタフェースのMACアドレス |
|
string |
- |
ホスト上でNICに追加するIPv4静的ルートのカンマ区切りリスト |
|
string |
- |
ホスト上でNICに追加するIPv6静的ルートのカンマ区切りリスト |
|
string |
- |
外向きトラフィックのI/O制限値(さまざまな単位が使用可能、ストレージとネットワーク制限の単位参照) |
|
string |
- |
内向きトラフィックのI/O制限値(さまざまな単位が使用可能、ストレージとネットワーク制限の単位参照) |
|
string |
- |
内向きと外向きの両方のトラフィックI/O制限値( |
|
integer |
カーネルが割り当て |
新しいインタフェースのMTU |
|
string |
カーネルが割り当て |
インスタンス内部でのインタフェース名 |
nictype
: routed
#
注釈
このNICタイプはnictype
オプションでのみ選択できます。
routed
NICタイプはホストをインスタンスに接続する仮想デバイスペアを作成し、インスタンスが指定された親インタフェースのネットワークに参加できるように、静的ルートとプロキシARP/NDPエントリをセットアップします。
コンテナでは仮想イーサネットデバイスペアを使用し、VMではTAPデバイスを使用します。
このNICタイプは運用上はIPVLANに似ていて、ブリッジを設定することなくホストのMACアドレスを共用して、インスタンスが外部ネットワークに参加できるようにします。
しかし、カーネルにIPVLANサポートを必要としないことと、ホストとインスタンスが互いに通信できることがipvlan
とは異なります。
このNICタイプはnetfilter
のルールを尊重し、ホストのルーティングテーブルを使ってパケットをルーティングしますので、ホストが複数のネットワークに接続している場合に役立ちます。
- IP アドレス、ゲートウェイ、ルーティング
インスタンスが起動する前にIPアドレスを(
ipv4.address
とipv6.address
の設定のいずれかあるいは両方を使って)手動で指定する必要があります。コンテナでは、NICはホスト上に下記のリンクローカルゲートウェイIPアドレスを設定し、それらをコンテナのNICインタフェースのデフォルトゲートウェイに設定します。
169.254.0.1 fe80::1
VMでは、ゲートウェイは手動か
cloud-init
のような仕組みを使って設定する必要があります。注釈
お使いのコンテナイメージがインタフェースに対してDHCPを使うように設定されている場合、上記の自動的に追加される設定は削除される可能性が高いです。 この場合、IPアドレスとゲートウェイを手動か
cloud-init
のような仕組みを使って設定する必要があります。このNICタイプはインスタンスのIPアドレス全てをインスタンスの
veth
インタフェースに向ける静的ルートをホスト上に設定します。- 複数のIPアドレス
それぞれのNICデバイスに複数のIPアドレスを追加できます。
しかし、代わりに複数の
routed
NICインタフェースを使うほうが望ましいかもしれません。 この場合、ipv4.gateway
とipv6.gateway
の値をnone
に設定し、後続のインタフェースがデフォルトゲートウェイの衝突を避けるようにします。 さらに、これらの後続のインタフェースにipv4.host_address
とipv6.host_address
を使って異なるホスト側のアドレスを指定することを検討してください。- 親のインタフェース
このNICは
parent
のネットワークインタフェースのセットがあってもなくても利用できます。parent
ネットワークインタフェースのセットがある場合、インスタンスのIPのプロキシARP/NDPエントリが親のインタフェースに追加され、インスタンスが親のインタフェースのネットワークにレイヤ2で参加できるようにします。- DNS
ネームサーバは自動的には設定されないので、インスタンス内で設定する必要があります。 このためには、以下の
sysctl
の設定をしてください。IPv4アドレスを使用する場合
net.ipv4.conf.<parent>.forwarding=1
IPv6アドレスを使用する場合
net.ipv6.conf.all.forwarding=1 net.ipv6.conf.<parent>.forwarding=1 net.ipv6.conf.all.proxy_ndp=1 net.ipv6.conf.<parent>.proxy_ndp=1
デバイスオプション#
routed
タイプのNICデバイスには以下のデバイスオプションがあります。
キー |
型 |
デフォルト値 |
説明 |
---|---|---|---|
|
bool |
|
GARP VLAN Registration Protocolを使ってVLANを登録する |
|
string |
ランダムに割り当て |
ホスト内でのインタフェース名 |
|
string |
ランダムに割り当て |
新しいインタフェースのMACアドレス |
|
string |
- |
インスタンスに追加するIPv4静的アドレスのカンマ区切りリスト |
|
string |
|
自動的にIPv4デフォルトゲートウェイを追加するかどうか( |
|
string |
|
ホスト側のvethインタフェースに追加するIPv4アドレス |
|
integer |
- |
(メインのルーティングテーブルに加えて)IPv4の静的ルートを追加する先のカスタムポリシー・ルーティングテーブルID |
|
bool |
|
IPアドレスが利用可能か知るために親のネットワークを調べるかどうか |
|
string |
- |
ホスト上でNICに追加するIPv4静的ルートのカンマ区切りリスト(L2 ARP/NDPプロキシを除く) |
|
string |
- |
インスタンスに追加するIPv6静的アドレスのカンマ区切りリスト |
|
string |
|
自動的にIPv6のデフォルトゲートウェイを追加するかどうか( |
|
string |
|
ホスト側のvethインタフェースに追加するIPv6アドレス |
|
integer |
- |
(メインのルーティングテーブルに加えて)IPv6の静的ルートを追加する先のカスタムポリシー・ルーティングテーブルID |
|
bool |
|
IPアドレスが利用可能か知るために親のネットワークを調べるかどうか |
|
string |
- |
ホスト上でNICに追加するIPv6静的ルートのカンマ区切りリスト(L2 ARP/NDPプロキシを除く) |
|
string |
- |
内向きトラフィックに対するbit/sでのI/O制限値(さまざまな単位をサポート、ストレージとネットワーク制限の単位参照) |
|
string |
- |
外向きトラフィックに対するbit/sでのI/O制限値(さまざまな単位をサポート、ストレージとネットワーク制限の単位参照) |
|
string |
- |
内向きと外向き両方のトラフィックのI/O 制限値( |
|
integer |
親の MTU |
新しいインタフェースのMTU |
|
string |
カーネルが割り当て |
インスタンス内でのインタフェース名 |
|
string |
- |
インスタンスが参加するホストデバイス名 |
|
integer |
- |
NICの送信キューの長さ |
|
integer |
- |
アタッチ先の VLAN ID |
bridge
、macvlan
、ipvlan
を使った物理ネットワークへの接続#
bridged
、macvlan
、ipvlan
インタフェースタイプのいずれも、既存の物理ネットワークへ接続するために使用できます。
macvlan
は、物理NICを効率的に分岐できます。つまり、物理NICからインスタンスで使える第2のインタフェースを取得できます。
この方法はブリッジデバイスと仮想イーサネットデバイスペアの作成を不要にしますし、通常はブリッジよりも良いパフォーマンスが得られます。
macvlan
の欠点は、macvlan
はインスタンス自身と外部との間で通信はできますが、親デバイスとは通信できないことです。
つまりインスタンスとホストが通信する必要がある場合はmacvlan
は使えません。
そのような場合は、bridge
デバイスを選ぶのが良いでしょう。
macvlan
では使えないMACフィルタリングとI/O制限も使えます。
ipvlan
はmacvlan
と同様ですが、フォークされたデバイスが静的に割り当てられたIPアドレスを持ち、ネットワーク上の親のMACアドレスを受け継ぐ点が異なります。
MAASを使った統合管理#
もし、LXDホストが接続されている物理ネットワークをMAASを使って管理している場合で、インスタンスを直接MAASが管理するネットワークにアタッチしたい場合は、MAASとやりとりをしてインスタンスをトラッキングするようにLXDを設定できます。
そのためには、デーモンに対して、maas.api.url
とmaas.api.key
を設定しなければなりません。そして、maas.subnet.ipv4
とmaas.subnet.ipv6
の両方またはどちらかを、インスタンスもしくはプロファイルのnic
エントリーに設定します。
これで、LXDは全てのインスタンスをMAASに登録し、適切なDHCPリースとDNSレコードをインスタンスに与えます。
ipv4.address
もしくはipv6.address
キーをNIC に設定した場合は、MAAS上で静的な割り当てとして登録されます。