VLAN は、専用の物理インフラストラクチャを持たず、別のローカル エリア ネットワークを使用してトラフィックを伝送するタイプのローカル エリア ネットワークです。トラフィックはカプセル化されるため、論理的に分離された複数の VLAN を同じ物理 LAN で伝送できます。 VLAN を使用すると、相互に分離された複数の異なるブロードキャスト ドメインを作成できます。 VLAN を使用すると、(ルーターではなく) ネットワーク スイッチがブロードキャスト ドメインを作成します。
各 VLAN は、1 から 4094 までの範囲の VID (VLAN 識別子) によって識別されます。スイッチ ポートは VLAN ID に割り当てられ、単一の VLAN に割り当てられたすべてのポートは単一のブロードキャスト ドメインに属します。 VID は、タグと呼ばれるパケットに追加される追加の 4 バイト ヘッダーに格納されます。タグをパケットに追加することをタグ付けと呼びます。
nmcli を使用した VLAN タグ付けの構成
1. nmcli 接続を使用できます コマンドで VLAN 接続を作成します。 「タイプ vlan の追加」を含めます 」引数と、VLAN 接続を作成するための追加情報。例:
# nmcli con add type vlan con-name vlan-ens37.100 ifname ens37.100 dev ens37 id 100 ip4 192.168.100.1/24 Connection 'vlan-ens37.100' (66950580-5ee1-40f7-8ce3-b9819fdfc492) successfully added.
この例では、VLAN 接続の次の属性を定義しています:
- con-name vlan-ens37.100 :新しい VLAN 接続の名前を指定します
- ifname ens37.100 :接続をバインドするインターフェースを指定します
- dev ens37 :この VLAN が存在する物理 (親) デバイスを指定します
- ID 100 :VLAN ID を指定します
- ip4 192.168.100.1/24 :インターフェイスに割り当てる IPv4 アドレスを指定します
2. nmcli con コマンドは、新しい VLAN 接続を表示します。
# nmcli connection NAME UUID TYPE DEVICE vlan-ens37.100 66950580-5ee1-40f7-8ce3-b9819fdfc492 vlan ens37.100
3. このコマンドは ifcfg-vlan-ens37.100 を作成します ファイル。このファイルの内容は次のとおりです:
# cat /etc/sysconfig/network-scripts/ifcfg-vlan-ens37.100 VLAN=yes TYPE=Vlan DEVICE=ens37.100 PHYSDEV=ens37 VLAN_ID=100 REORDER_HDR=yes GVRP=no MVRP=no BOOTPROTO=none IPADDR=192.168.100.1 PREFIX=24 DEFROUTE=yes IPV4_FAILURE_FATAL=no IPV6INIT=yes IPV6_AUTOCONF=yes IPV6_DEFROUTE=yes IPV6_PEERDNS=yes IPV6_PEERROUTES=yes IPV6_FAILURE_FATAL=no IPV6_ADDR_GEN_MODE=stable-privacy NAME=vlan-ens37.100 UUID=66950580-5ee1-40f7-8ce3-b9819fdfc492 ONBOOT=yes
4. ip addr コマンドを使用して、ネットワーク デバイスのプロトコル アドレス情報を表示できます。以下は、VLAN インターフェース、ens37.100 を示しています:
# ip add show 1: lo: [LOOPBACK,UP,LOWER_UP] mtu 65536 qdisc noqueue state UNKNOWN qlen 1 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever inet6 ::1/128 scope host valid_lft forever preferred_lft forever 2: ens37.100@ens37: [BROADCAST,MULTICAST,UP,LOWER_UP] mtu 1500 qdisc noqueue state UP qlen 1000 link/ether 00:0c:29:54:f7:34 brd ff:ff:ff:ff:ff:ff inet 192.168.100.1/24 brd 192.168.100.255 scope global ens37.100 valid_lft forever preferred_lft forever inet6 fe80::473b:5fc1:87d:89c3/64 scope link valid_lft forever preferred_lft forever
5. nmcli デバイス コマンドは、ens37.100 デバイスを表示します。
# nmcli device DEVICE TYPE STATE CONNECTION ens37.100 vlan connected vlan-ens37.100
6. nmcli 接続 コマンドは vlan-ens37.100 を表示します
# nmcli connection NAME UUID TYPE DEVICE vlan-ens37.100 66950580-5ee1-40f7-8ce3-b9819fdfc492 vlan ens37.100
VLAN 情報の表示
各ネットワーク インターフェイスには、/sys/class/net にディレクトリが含まれています ディレクトリ。例:
# ls /sys/class/net ens33 ens36 ens37 ens37.100 lo
この例では、ens37.100 という名前の VLAN インターフェイスが存在し、そのインターフェイスの構成情報を含む同じ名前のディレクトリが存在します。例:
# ls /sys/class/net/ens37.100 addr_assign_type broadcast dev_id duplex ifalias link_mode netdev_group power statistics type address carrier dev_port flags ifindex lower_ens37 operstate queues subsystem uevent addr_len carrier_changes dormant gro_flush_timeout iflink mtu phys_port_id speed tx_queue_len
/proc/net/vlan にもファイルがあります VLAN インターフェイスを記述するディレクトリ。例:
# ls /proc/net/vlan config ens37.100
tcpdump を使用できます ユーティリティを使用して、タグ付きおよびタグなしのパケットを確認し、トラフィックが予想されるインターフェイスに表示されるようにします。 -e オプションは、802.1Q タグを含むイーサネット ヘッダーを指定します。 -i を使用する インターフェイスを指定するオプション。例:
# tcpdump –e –i ens37