Contents
概要
VLANを設定します。CiscoではVLANにはAccessとTrunkがありますが、Linuxでは後者でありタグVLAN(IEEE802.1q)です。この為、対向のスイッチがIEEE802.1qに対応していなければ使用できません。
前提条件
OS
CentOS Stream 8を使用します。
SELinux
有効です。無効にする場合はこちらを参照して下さい。
Firewalld
無効です。有効化する場合はこちらを参照して必要な許可設定をして下さい。
その他
- nmcliではcon-nameとifnameを省略可能(またはどちらかを)ですが、それらが同じ名前ではどちらに対して設定しているのか分かりづらくなる為、本稿の例ではcon-nameとifnameを明示的に設定しています。また、インストール時に割り当てられたcon-nameも予め変更しています。
ネットワーク構成
以下のネットワーク構成を想定しています。対向スイッチはCiscoのイメージです。赤枠はIPアドレスを持ちますが、それ以外はL2透過です。
設定
ステータス確認
ステータス確認の詳細はこちらを参照して下さい。
device
deviceの状態を確認します。今回はens34にVLAN設定を行います。
[root@centos ~]# nmcli device status DEVICE TYPE STATE CONNECTION ens33 ethernet 接続済み con-ens33 ens34 ethernet 接続済み con-ens34 ens35 ethernet 接続済み con-ens35 lo loopback 管理無し --
connection
connectionの状態は下記の通りです。
[root@centos ~]# nmcli connection show NAME UUID TYPE DEVICE con-ens33 0b6ad2b8-4599-4f37-b077-47624d48bf55 ethernet ens33 con-ens34 d69129f7-39d8-493e-9080-a68bd79e9ea9 ethernet ens34 con-ens35 c011fecc-7da1-41af-83e3-15b93f9ceffa ethernet ens35
VLAN設定
VLANインターフェイスの追加
ens34にVLAN10(vlanid=10)とVLAN20(vlanid=20)を追加します。con-nameは任意です。
[root@centos ~]# nmcli connection add type vlan ifname ens34.10 con-name con-ens34.10 dev ens34 id 10 [root@centos ~]# nmcli connection add type vlan ifname ens34.20 con-name con-ens34.20 dev ens34 id 20
作成されたVLANインターフェイスを確認します。詳細を確認する場合はnmcli connection show con-ens34.10 or con-ens34.20とします。
[root@centos ~]# nmcli connection show NAME UUID TYPE DEVICE con-ens34.10 5b330602-a7cd-41e3-84f9-00f062a78255 vlan ens34.10 con-ens34.20 a445268a-b57d-4235-947b-58693cb0054a vlan ens34.20 con-ens33 0b6ad2b8-4599-4f37-b077-47624d48bf55 ethernet ens33 con-ens34 d69129f7-39d8-493e-9080-a68bd79e9ea9 ethernet ens34 con-ens35 c011fecc-7da1-41af-83e3-15b93f9ceffa ethernet ens35
/etc/sysconfig/network-scripts/ifcfg-con-ens34.10が作成されます。
[root@centos ~]# cat /etc/sysconfig/network-scripts/ifcfg-con-ens34.10
VLAN=yes
TYPE=Vlan
PHYSDEV=ens34
VLAN_ID=10
REORDER_HDR=yes
GVRP=no
MVRP=no
HWADDR=
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=dhcp
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=con-ens34.10
UUID=5b330602-a7cd-41e3-84f9-00f062a78255
DEVICE=ens34.10
ONBOOT=yes
/etc/sysconfig/network-scripts/ifcfg-con-ens34.20が作成されます。
[root@centos ~]# cat /etc/sysconfig/network-scripts/ifcfg-con-ens34.20
VLAN=yes
TYPE=Vlan
PHYSDEV=ens34
VLAN_ID=20
REORDER_HDR=yes
GVRP=no
MVRP=no
HWADDR=
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=dhcp
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=con-ens34.20
UUID=a445268a-b57d-4235-947b-58693cb0054a
DEVICE=ens34.20
ONBOOT=yes
物理ネットワークアダプタのIPアドレス設定無効化
VLANインターフェイスの元の物理ネットワークアダプタにはIPアドレス設定が不要な為、無効化します。
[root@centos ~]# nmcli connection modify con-ens34 connection.autoconnect yes ipv4.method disabled ipv6.method ignore
VLANインターフェイスのIPアドレス設定
IPアドレス設定は各インターフェイスタイプで共通です。こちらを参照して下さい。テスト環境等で接続先がIEEE802.1qでは無い場合(ローカルでの設定演習等)、DHCP設定ではVLANインターフェイスが起動しません。IPアドレス設定なしか、固定IPアドレス設定にして下さい。
VLANインターフェイスの有効化
VLANインターフェイスを有効化します。
[root@centos ~]# nmcli connection up con-ens34.10 [root@centos ~]# nmcli connection up con-ens34.20
VLANインターフェイスの削除
下記で削除します。削除は即時に反映されます。
[root@centos ~]# nmcli connection delete con-ens34.10 [root@centos ~]# nmcli connection delete con-ens34.20