10.3. コマンドラインツール nmcli を使った 802.1Q VLAN タグの設定
システム上で利用可能なインターフェイスを表示するには、以下のコマンドを実行します。
Copy to Clipboard
Copied!
Toggle word wrap
Toggle overflow
出力の NAME フィールドは常に接続 ID を表すことに留意してください。これはインターフェイス名と同じように見えますが、異なるものです。nmcli connection コマンドで ID を使用して接続を識別できます。
nmcli con show
~]$ nmcli con show
NAME UUID TYPE DEVICE
System enp2s0 9c92fad9-6ecb-3e6c-eb4d-8a47c6f50c04 802-3-ethernet enp2s0
System enp1s0 5fb06bd0-0bb0-7ffb-45f1-d6edd65f3e03 802-3-ethernet enp1s0
firewalld などの他のアプリケーションで DEVICE 名を使用します。
VLAN インターフェイス VLAN10 および ID
Copy to Clipboard
Copied!
Toggle word wrap
Toggle overflow
VLAN インターフェイスに
Copy to Clipboard
Copied!
Toggle word wrap
Toggle overflow
10 のイーサネットインターフェイス enp1s0 で 802.1Q VLAN インターフェイスを作成するには、以下のコマンドを実行します。
nmcli con add type vlan ifname VLAN10 dev enp1s0 id 10
~]$ nmcli con add type vlan ifname VLAN10 dev enp1s0 id 10
Connection 'vlan-VLAN10' (37750b4a-8ef5-40e6-be9b-4fb21a4b6d17) successfully added.
con-name を指定しなかったため、接続名がインターフェイス名の前に種類を追加したものとなっていることに留意してください。別の方法では、以下のように con-name オプションで名前を指定します。
nmcli con add type vlan con-name VLAN12 dev enp1s0 id 12
~]$ nmcli con add type vlan con-name VLAN12 dev enp1s0 id 12
Connection 'VLAN12' (b796c16a-9f5f-441c-835c-f594d40e6533) successfully added.
VLAN インターフェイスにアドレスを割り当てる
同じ nmcli コマンドを使用して、他のインターフェイスと同様に静的および動的インターフェイスアドレスを割り当てることができます。
たとえば、静的
Copy to Clipboard
Copied!
Toggle word wrap
Toggle overflow
IPv4 アドレスとゲートウェイを持つ VLAN インターフェイスを作成するコマンドは以下のようになります。
nmcli con add type vlan con-name VLAN20 dev enp1s0 id 20 ip4 10.10.10.10/24 \ gw4 10.10.10.254
~]$ nmcli con add type vlan con-name VLAN20 dev enp1s0 id 20 ip4 10.10.10.10/24 \
gw4 10.10.10.254
動的アドレスを割り当てる VLAN インターフェイスを作成するには、以下のコマンドを実行します。
Copy to Clipboard
Copied!
Toggle word wrap
Toggle overflow
nmcli con add type vlan con-name VLAN30 dev enp1s0 id 30
~]$ nmcli con add type vlan con-name VLAN30 dev enp1s0 id 30
nmcli コマンドを使用してインターフェイスを設定する例は、「nmcli を使用したネットワーク接続」 を参照してください。
作成した VLAN インターフェイスを表示するには、以下のコマンドを実行します。
Copy to Clipboard
Copied!
Toggle word wrap
Toggle overflow
新規に設定した接続の詳細情報を表示するには、以下のコマンドを実行します。
Copy to Clipboard
Copied!
Toggle word wrap
Toggle overflow
VLAN コマンドのその他のオプションは、
nmcli (1) man ページの VLAN セクションに記載されています。man ページでは、VLAN が作成されるデバイスは、parent device と呼ばれています。上記の例では、デバイスはインターフェイス名 enp1s0 で指定されており、接続 UUID または MAC アドレスで指定することもできます。
イーサネットインターフェイス np2s0 上で、イングレス優先度マッピングを使用して 802.1Q VLAN 接続プロファイル (名前 VLAN1 ID
Copy to Clipboard
Copied!
Toggle word wrap
Toggle overflow
13 で、以下のコマンドを実行します。
nmcli con add type vlan con-name VLAN1 dev enp2s0 id 13 ingress "2:3,3:5"
~]$ nmcli con add type vlan con-name VLAN1 dev enp2s0 id 13 ingress "2:3,3:5"
上記で作成された VLAN に関連するすべてのパラメーターを表示するには、以下のコマンドを実行します。
Copy to Clipboard
Copied!
Toggle word wrap
Toggle overflow
nmcli connection show vlan-VLAN10
~]$ nmcli connection show vlan-VLAN10
MTU を変更するには、以下のコマンドを実行します。
Copy to Clipboard
Copied!
Toggle word wrap
Toggle overflow
MTU 設定は、ネットワーク層パケットの最大サイズを決定します。リンク層フレームが送信可能なペイロードの最大サイズは、ネットワーク層 MTU を制限します。通常のイーサネットフレームの場合、1500 バイトの MTU になります。VLAN 設定の際には、802.1Q タグを受け入れるためにリンク層ヘッダーのサイズが 4 バイト拡大されるので、MTU を変更する必要はありません。
nmcli connection modify vlan-VLAN10 802.mtu 1496
~]$ nmcli connection modify vlan-VLAN10 802.mtu 1496
執筆時点では、
Copy to Clipboard
Copied!
Toggle word wrap
Toggle overflow
connection.interface-name と vlan.interface-name は同じでなければなりません(設定されている場合)。したがって、nmcli のインタラクティブモードを使用して同時に変更する必要があります。VLAN 接続名を変更するには、以下のコマンドを実行します。
nmcli con edit vlan-VLAN10
~]$ nmcli con edit vlan-VLAN10
nmcli> set vlan.interface-name superVLAN
nmcli> set connection.interface-name superVLAN
nmcli> save
nmcli> quit
nmcli ユーティリティーを使用すると、802.1Q コードの動作を変更する
VLAN の状態は、親もしくはマスターインターフェイス (VLAN が作成されているインターフェイスもしくはデバイス) に同期されます。親インターフェイスが「down」の管理状態に設定されていると、関連するすべての VLAN もダウンに設定され、ルートもすべてルーティングテーブルからフラッシュされます。フラグ
ioctl フラグを設定および消去できます。次の VLAN フラグが NetworkManager でサポートされています。
- 0x01 - 出力パケットヘッダーを並び替えます。
- 0x02 - GVRP プロトコルを使用します。
- 0x04 - インターフェイスとそのマスターのバインディングを外します。
0x04 は、loose binding モードを有効にします。このモードでは、動作状態のみが親から関連付けられた VLAN に渡されますが、VLAN デバイスの状態は変更されません。
VLAN フラグを設定するには、以下のコマンドを実行します。
Copy to Clipboard
Copied!
Toggle word wrap
Toggle overflow
nmcli connection modify vlan-VLAN10 vlan.flags 1
~]$ nmcli connection modify vlan-VLAN10 vlan.flags 1
nmcli の概要は、「nmcli を使用する IP ネットワークの設定」 を参照してください。