5.2. nmcli を使用したネストされた VLAN の設定
802.1ad は、仮想ローカルエリアネットワーク (VLAN) のタグ付けに使用されるプロトコルです。これは Q-in-Q タグ付けとしても知られています。この技術を使用して、1 つのイーサネットフレーム内に複数の VLAN タグを作成すると、以下の利点が得られます。
- VLAN 内に複数の分離ネットワークセグメントを作成することで、ネットワークのスケーラビリティーが向上します。これにより、大規模なネットワークを、より小さく管理可能なユニットに分割して整理できます。
- さまざまな種類のネットワークトラフィックを分離および制御することで、トラフィック管理が改善されました。これにより、ネットワークパフォーマンスが向上し、ネットワークの輻輳を減らすことができます。
- より小規模で、よりターゲットを絞ったネットワークセグメントの作成を可能にすることで、リソースを効率的に利用します。
- ネットワークトラフィックを分離し、機密データへの不正アクセスのリスクを軽減することで、セキュリティーを強化します。
前提条件
- 仮想 VLAN インターフェイスに対する親として使用するインターフェイスが VLAN タグに対応している。
ボンドインターフェイスに VLAN を設定する場合は、以下のようになります。
- ボンディングのポートが起動している。
-
ボンドが、
fail_over_mac=follow
オプションで設定されていない。VLAN 仮想デバイスは、親の新規 MAC アドレスに一致する MAC アドレスを変更できません。このような場合、トラフィックは間違ったソースの MAC アドレスで送信されます。 -
ボンドは通常、DHCP サーバーまたは IPv6 自動設定から IP アドレスを取得することは想定されていません。ボンディングの作成時に
ipv4.method=disable
オプションおよびipv6.method=ignore
オプションを設定してこれを確認します。そうしないと、DHCP または IPv6 の自動設定がしばらくして失敗した場合に、インターフェイスがダウンする可能性があります。
- ホストが接続するスイッチは、VLAN タグに対応するように設定されています。詳細は、スイッチのドキュメントを参照してください。
手順
物理ネットワークデバイスを表示します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow nmcli device status
# nmcli device status DEVICE TYPE STATE CONNECTION enp1s0 ethernet connected enp1s0 ...
ベース VLAN インターフェイスを作成します。たとえば、
enp1s0
を親インターフェイスとして使用し、パケットに VLAN ID10
のタグを付けるvlan10
という名前のベース VLAN インターフェイスを作成するには、次のように実行します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow nmcli connection add type vlan con-name vlan10 dev enp1s0 vlan.id 10
# nmcli connection add type vlan con-name vlan10 dev enp1s0 vlan.id 10
VLAN は、
0
から4094
の範囲内に存在する必要があります。デフォルトでは、VLAN 接続は、親インターフェイスから最大伝送単位 (MTU) を継承します。必要に応じて、別の MTU 値を設定します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow nmcli connection modify vlan10 ethernet.mtu 2000
# nmcli connection modify vlan10 ethernet.mtu 2000
ベース VLAN インターフェイスの上にネストされた VLAN インターフェイスを作成します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow nmcli connection add type vlan con-name vlan10.20 dev enp1s0.10 id 20 vlan.protocol 802.1ad
# nmcli connection add type vlan con-name vlan10.20 dev enp1s0.10 id 20 vlan.protocol 802.1ad
このコマンドは、親 VLAN 接続
vlan10
で、名前がvlan10.20
で VLAN ID が20
の新しい VLAN 接続を作成します。dev
オプションは、親ネットワークデバイスを指定します。この場合、enp1s0.10
です。vlan.protocol
オプションは、VLAN カプセル化プロトコルを指定します。この場合、802.1ad
(Q-in-Q) です。ネストされた VLAN インターフェイスの IPv4 設定を設定します。
- DHCP を使用するために必要な操作はありません。
静的 IPv4 アドレス、ネットワークマスク、デフォルトゲートウェイ、および DNS サーバーを
vlan10.20
接続に設定するには、次のように実行します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow nmcli connection modify vlan10.20 ipv4.method manual ipv4.addresses 192.0.2.1/24 ipv4.gateway 192.0.2.254 ipv4.dns 192.0.2.200
# nmcli connection modify vlan10.20 ipv4.method manual ipv4.addresses 192.0.2.1/24 ipv4.gateway 192.0.2.254 ipv4.dns 192.0.2.200
ネストされた VLAN インターフェイスの IPv6 設定を設定します。
- ステートレスアドレス自動設定 (SLAAC) を使用する場合、アクションは必要ありません。
静的 IPv6 アドレス、ネットワークマスク、デフォルトゲートウェイ、および DNS サーバーを vlan10 接続に設定するには、次のように実行します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow nmcli connection modify bridge0 ipv6.addresses '2001:db8:1::1/64' ipv6.gateway '2001:db8:1::fffe' ipv6.dns '2001:db8:1::fffd' ipv6.dns-search 'example.com' ipv6.method manual
# nmcli connection modify bridge0 ipv6.addresses '2001:db8:1::1/64' ipv6.gateway '2001:db8:1::fffe' ipv6.dns '2001:db8:1::fffd' ipv6.dns-search 'example.com' ipv6.method manual
プロファイルをアクティブ化します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow nmcli connection up vlan10.20
# nmcli connection up vlan10.20
検証
ネストされた VLAN インターフェイスの設定を確認します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ip -d addr show enp1s0.10.20
# ip -d addr show enp1s0.10.20 10: enp1s0.10.20@enp1s0.10: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000 link/ether 52:54:00:d2:74:3e brd ff:ff:ff:ff:ff:ff promiscuity 0 minmtu 0 maxmtu 65535 vlan protocol 802.1ad id 20 <REORDER_HDR> numtxqueues 1 numrxqueues 1 gso_max_size 65536 gso_max_segs 65535 tso_max_size 65536 tso_max_segs 65535 gro_max_size 65536 inet 192.0.2.1/24 brd 192.0.2.255 scope global noprefixroute enp1s0.10.20 valid_lft forever preferred_lft forever inet6 2001:db8:1::1/32 scope global noprefixroute valid_lft forever preferred_lft forever inet6 fe80::ce3b:84c5:9ef8:d0e6/64 scope link noprefixroute valid_lft forever preferred_lft forever
関連情報
-
システム上の
nm-settings(5)
man ページ