Linuxのネットワークインターフェイスの設定でIEEE802.1Qの設定が可能です。これは物理的に1本のケーブルで複数のVLANを流す技術で1インターフェイスに複数IP(別セグメント)の設定が可能となります。
802.1Qに関しては普段からルータやスイッチなどを触っている人はお馴染みの機能だと思います。CentOS7とケーブルで接続するスイッチのポート設定は以下のようになります。(Catalyst製品の例)
interface GigabitEthernetX/Y switchport trunk native vlan 18 switchport trunk allowed vlan 4,5,18,203 switchport mode trunk |
上記の設定では通信するVLANは4,5,18,203となっており、その中でVLAN4と5と203はタグ付き、native vlanに指定している18に関してはタグなしで通信することになります。
そのためCentOSサーバには予めvlan18のIPアドレスを設定しているというのが本記事の前提となっております。
他のサイトなどを参考にしながらdot1qの設定を試みたのですがnmtuiを使ったGUI操作が最も簡単に設定できました。以下のコマンドを実行します。
# nmtui |
そうると以下の画面が表示されます。
接続の編集をクリックします。
今、使用している物理インターフェイス(上記ではenp3s4f0)を選択して追加ボタンをクリックします。
新規の接続画面がでるのでVLANを選択します。
VLAN追加の画面がでるのでプロファイル名を必要に応じて編集します。デバイスに関しては例えばvlan4であれば素直にvlan4と入力します。そうすると画面下のVLAN idのところに自動的に4が入力されます。親のところには物理インターフェイスであるenp3s4f0を入力します。その他、IPv4設定としてIPアドレスなどを設定して画面下部にあるOKボタンをクリックし、nmtuiの画面を閉じます。
閉じた瞬間に何も再起動しなくてもvlanインターフェイスは有効となり疎通可能となります。以下のコマンドで確認可能です。
# ip addr 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: enp3s4f0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000 link/ether 18:a9:05:00:5a:80 brd ff:ff:ff:ff:ff:ff inet 192.168.18.134/24 brd 192.168.18.255 scope global enp3s4f0 valid_lft forever preferred_lft forever inet6 fe80::1aa9:5ff:fe00:5a80/64 scope link valid_lft forever preferred_lft forever 3: enp3s4f1: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq state DOWN qlen 1000 link/ether 18:a9:05:00:5a:81 brd ff:ff:ff:ff:ff:ff 4: vlan4@enp3s4f0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP qlen 1000 link/ether 18:a9:05:00:5a:80 brd ff:ff:ff:ff:ff:ff inet 192.168.4.2/32 brd 192.168.4.2 scope global vlan4 valid_lft forever preferred_lft forever inet6 fe80::5614:2339:4f6c:2865/64 scope link valid_lft forever preferred_lft forever 5: vlan5@enp3s4f0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP qlen 1000 link/ether 18:a9:05:00:5a:80 brd ff:ff:ff:ff:ff:ff inet 192.168.5.2/32 brd 192.168.5.2 scope global vlan5 valid_lft forever preferred_lft forever inet6 fe80::dad6:37a3:a72:d34/64 scope link valid_lft forever preferred_lft forever 6: vlan203@enp3s4f0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP qlen 1000 link/ether 18:a9:05:00:5a:80 brd ff:ff:ff:ff:ff:ff inet 192.168.203.2/32 brd 192.168.203.2 scope global vlan203 valid_lft forever preferred_lft forever inet6 fe80::bbe9:f21c:6a9d:a8d6/64 scope link valid_lft forever preferred_lft forever |
これらの設定は/etc/sysconfig/network-scripts以下にファイルとしてifcfg-[プロファイル名]で保存されています。VLAN203に関しては以下のように保存されていました。
# pwd /etc/sysconfig/network-scripts # cat ifcfg-VLAN_203 VLAN=yes TYPE=Vlan DEVICE=vlan203 PHYSDEV=enp3s4f0 VLAN_ID=203 REORDER_HDR=yes GVRP=no MVRP=no PROXY_METHOD=none BROWSER_ONLY=no BOOTPROTO=none IPADDR=192.168.203.2 PREFIX=32 GATEWAY=192.168.203.1 DNS1=192.168.6.17 DEFROUTE=yes IPV4_FAILURE_FATAL=no IPV6INIT=yes IPV6_AUTOCONF=yes IPV6_DEFROUTE=yes IPV6_FAILURE_FATAL=no IPV6_ADDR_GEN_MODE=stable-privacy NAME=VLAN_203 UUID=ed93d57e-3817-4f69-8735-0da7ebf1f9b0 ONBOOT=yes |