7.4. コマンドラインを使った 802.1Q VLAN タグの設定

Red Hat Enterprise Linux 7 では、8021q モジュールはデフォルトで読み込まれています。必要な場合は、root で以下のコマンドを実行して、モジュールを読み込みます。
~]# modprobe --first-time 8021q
modprobe: ERROR: could not insert '8021q': Module already in kernel
モジュールについての情報を表示するには、以下のコマンドを実行します。
~]$ modinfo 8021q
コマンドオプションについては、modprobe(8) man ページを参照してください。

7.4.1. ifcfg ファイルを使用した 802.1q VLAN タグの設定

  1. /etc/sysconfig/network-scripts/ifcfg-ethX の親インターフェースを以下のように設定します。X は特定のインターフェースに対応する一意の番号です。
    DEVICE=ethX
    TYPE=Ethernet
    BOOTPROTO=none
    ONBOOT=yes
  2. /etc/sysconfig/network-scripts/ ディレクトリーで VLAN インターフェースを設定します。設定ファイル名は、親インターフェースにピリオド . と VLAN ID 番号を加えたものにします。たとえば、VLAN ID が 192 で親インターフェースが eth0 なら、設定ファイル名は ifcfg-eth0.192 となります。
    DEVICE=ethX.192
    BOOTPROTO=none
    ONBOOT=yes
    IPADDR=192.168.1.1
    PREFIX=24
    NETWORK=192.168.1.0
    VLAN=yes
    たとえば、VLAN ID 193 で同一インターフェースの eth0 上に 2 つ目の VLAN を設定する必要がある場合は、VLAN 設定詳細で eth0.193 という名前とした新規ファイルを追加します。
  3. 変更を反映させるには、ネットワークサービスを再起動します。root で以下のコマンドを実行します。
    ~]# systemctl restart network

7.4.2. ip コマンドを使用した 802.1Q VLAN タグの設定

イーサネットインターフェース eth0 上で 名前が VLAN8 および ID 8 の 802.1Q VLAN インターフェースを作成するには、root で以下のコマンドを実行します。
~]# ip link add link eth0 name eth0.8 type vlan id 8
VLAN を表示するには、以下のコマンドを実行します。
~]$ ip -d link show eth0.8
4: eth0.8@eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP mode DEFAULT
     link/ether 52:54:00:ce:5f:6c brd ff:ff:ff:ff:ff:ff promiscuity 0
     vlan protocol 802.1Q id 8 <REORDER_HDR>
ip ユーティリティーは VLAN ID が 0x で始まっている場合は 16 進数として、0 で始まっている場合は 8 進数として読み取ることに注意してください。つまり、10 進数の値 22 の VLAN ID を割り当てるには、ゼロをつけてはいけないということになります。
VLAN を削除するには、root で以下のコマンドを実行します。
~]# ip link delete eth0.8

注記

ip コマンドを使って作成された VLAN インターフェースは、システムが終了したり再起動すると失われます。システム再起動後も維持できるように VLAN インターフェースを設定するには、ifcfg ファイルを使用します。「ifcfg ファイルを使用した 802.1q VLAN タグの設定」 を参照してください。