手当たり次第に書くんだ

飽きっぽいのは本能

CentOS 8 NetworkManager VLAN, Bonding, Bridge

目次に戻る

概要

VLAN+Bondingインターフェイスを元にBridgeを追加します。

前提条件

OS

CentOS Stream 8を使用します。

SELinux

有効です。無効にする場合はこちらを参照して下さい。

Firewalld

無効です。有効化する場合はこちらを参照して必要な許可設定をして下さい。

その他

  • nmcliではcon-nameとifnameを省略可能(またはどちらかを)ですが、それらが同じ名前ではどちらに対して設定しているのか分かりづらくなる為、本稿の例ではcon-nameとifnameを明示的に設定しています。また、インストール時に割り当てられたcon-nameも予め変更しています。
  • 本稿の手順はVLAN+Bonding設定が完了している状態が前提です。

ネットワーク構成

以下のネットワーク構成を想定しています。対向スイッチはCiscoのイメージです。赤枠はIPアドレスを持ちますが、それ以外はL2透過です。

設定

ステータス確認

ステータス確認の詳細はこちらを参照して下さい。

device

deviceの状態を確認します。今回はbond0.10とbond0.20をBridgeに割り当てるVLANインターフェイスとします。

[root@centos ~]# nmcli device status
DEVICE    TYPE      STATE     CONNECTION
ens33     ethernet  接続済み  con-ens33
ens34     ethernet  接続済み  con-ens34
ens35     ethernet  接続済み  con-ens35
bond0     bond      接続済み  con-bond0
bond0.10  vlan      接続済み  con-bond0.10
bond0.20  vlan      接続済み  con-bond0.20
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
con-bond0              bac6e9e8-07f8-4a76-8aec-3746d13d1bd9  bond      bond0
con-bond0.10           2b284727-a3b7-4c5d-8351-65ecd1be17fd  vlan      bond0.10
con-bond0.20           e8de243c-932c-490f-abfa-4a1698c97c4f  vlan      bond0.20
con-bond0-slave-ens34  c422f6d9-024a-4c7d-831a-0cd74bdf898b  ethernet  --
con-bond0-slave-ens35  7dcb39b9-7173-4df3-933e-de475c7dab00  ethernet  --

Bridge設定

Bridgeインターフェイスの追加

Bridgeインターフェイスを追加します。STPはデフォルト値がyesの為、明示的に無効にしています。

[root@centos ~]# nmcli connection add type bridge ifname br10 con-name con-br10 bridge.stp no
[root@centos ~]# nmcli connection add type bridge ifname br20 con-name con-br20 bridge.stp no
[root@centos ~]# nmcli connection add type bridge ifname br30 con-name con-br30 bridge.stp no

作成されたBridgeインターフェイスを確認します。詳細を確認する場合はnmcli connection show con-br10 or con-br20 or con-br30とします。

[root@centos ~]# nmcli connection show
NAME                   UUID                                  TYPE      DEVICE
con-br10               b87d0e4a-3bc9-4466-9776-9e2a39d6428d  bridge    br10
con-br20               9c053667-7d10-4897-b69c-7c051fc5f1ec  bridge    br20
con-br30               875f1a33-f83d-4d96-bf60-66729c54b03a  bridge    br30
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
con-bond0              bac6e9e8-07f8-4a76-8aec-3746d13d1bd9  bond      bond0
con-bond0.10           2b284727-a3b7-4c5d-8351-65ecd1be17fd  vlan      bond0.10
con-bond0.20           e8de243c-932c-490f-abfa-4a1698c97c4f  vlan      bond0.20
con-bond0-slave-ens34  c422f6d9-024a-4c7d-831a-0cd74bdf898b  ethernet  --
con-bond0-slave-ens35  7dcb39b9-7173-4df3-933e-de475c7dab00  ethernet  --

/etc/sysconfig/network-scripts/ifcfg-con-br10が作成されます。

[root@centos ~]# cat /etc/sysconfig/network-scripts/ifcfg-con-br10
STP=no
TYPE=Bridge
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-br10
UUID=2d85267a-af8d-4854-8eea-433efcf85e94
DEVICE=br10
ONBOOT=yes

/etc/sysconfig/network-scripts/ifcfg-con-br20が作成されます。

[root@centos ~]# cat /etc/sysconfig/network-scripts/ifcfg-con-br20
STP=no
TYPE=Bridge
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-br20
UUID=9c053667-7d10-4897-b69c-7c051fc5f1ec
DEVICE=br20
ONBOOT=yes

/etc/sysconfig/network-scripts/ifcfg-con-br30が作成されます。

[root@centos ~]# cat /etc/sysconfig/network-scripts/ifcfg-con-br30
STP=no
TYPE=Bridge
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-br30
UUID=875f1a33-f83d-4d96-bf60-66729c54b03a
DEVICE=br30
ONBOOT=yes

BridgeインターフェイスにVLANインターフェイスを割り当て

bond0.10とbond0.20を各Bridgeに割り当てます。これらはconnectionではなくdeviceの指定です。br30は内部の仮想マシンのみで使用する為、VLANインターフェイスを割り当てません。

[root@centos ~]# nmcli connection add type bridge-slave ifname bond0.10 con-name con-br10-slave-bond0.10 master br10
[root@centos ~]# nmcli connection add type bridge-slave ifname bond0.20 con-name con-br20-slave-bond0.20 master br20

状態を確認します。con-br-slave~はBridgeインターフェイスとBridgeインターフェイスに割り当てたVLANインターフェイスを関連付ける設定です。

[root@centos ~]# nmcli connection show
NAME                     UUID                                  TYPE      DEVICE
con-br10                 b87d0e4a-3bc9-4466-9776-9e2a39d6428d  bridge    br10
con-br20                 9c053667-7d10-4897-b69c-7c051fc5f1ec  bridge    br20
con-br30                 875f1a33-f83d-4d96-bf60-66729c54b03a  bridge    br30
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
con-bond0                bac6e9e8-07f8-4a76-8aec-3746d13d1bd9  bond      bond0
con-bond0.10             2b284727-a3b7-4c5d-8351-65ecd1be17fd  vlan      bond0.10
con-bond0.20             e8de243c-932c-490f-abfa-4a1698c97c4f  vlan      bond0.20
con-bond0-slave-ens34    c422f6d9-024a-4c7d-831a-0cd74bdf898b  ethernet  --
con-bond0-slave-ens35    7dcb39b9-7173-4df3-933e-de475c7dab00  ethernet  --
con-br10-slave-bond0.10  ac138c53-c741-4f44-8ce7-5a5d97e4b597  ethernet  --
con-br20-slave-bond0.20  c1c7fa26-2251-4134-b1b2-4eadf6b67d38  ethernet  --

/etc/sysconfig/network-scripts/ifcfg-con-br10-slave-bond0.10が作成されます。

[root@centos ~]# cat /etc/sysconfig/network-scripts/ifcfg-con-br10-slave-bond0.10
TYPE=Ethernet
NAME=con-br10-slave-bond0.10
UUID=ac138c53-c741-4f44-8ce7-5a5d97e4b597
DEVICE=bond0.10
ONBOOT=yes
BRIDGE=br10

/etc/sysconfig/network-scripts/ifcfg-con-br20-slave-bond0.20が作成されます。

[root@centos ~]# cat /etc/sysconfig/network-scripts/ifcfg-con-br20-slave-bond0.20
TYPE=Ethernet
NAME=con-br20-slave-bond0.20
UUID=c1c7fa26-2251-4134-b1b2-4eadf6b67d38
DEVICE=bond0.20
ONBOOT=yes
BRIDGE=br20

VLANインターフェイスのIPアドレス設定無効化

Bridgeに割り当てたVLANインターフェイスにはIPアドレス設定が不要な為、無効化します。

[root@centos ~]# nmcli connection modify con-bond0.10 connection.autoconnect yes ipv4.method disabled ipv6.method ignore
[root@centos ~]# nmcli connection modify con-bond0.20 connection.autoconnect yes ipv4.method disabled ipv6.method ignore

BridgeインターフェイスのIPアドレス設定

IPアドレス設定は各インターフェイスタイプで共通です。こちらを参照して下さい。

Bridgeインターフェイスの有効化

下記で有効にします。connection upは再読み込みも含まれています。まとめて反映する方法はありそうですが不明です(systemctl restart NetworkManager.serviceやnmcli connection reloadでは反映されません)。面倒な場合はOS再起動でも良いでしょう。

[root@centos ~]# nmcli connection up con-bond0.10
[root@centos ~]# nmcli connection up con-bond0.20
[root@centos ~]# nmcli connection up con-br10
[root@centos ~]# nmcli connection up con-br20
[root@centos ~]# nmcli connection up con-br30

Bridgeインターフェイスの削除

下記で削除します。con-br-slave10~は個別に削除する必要があります。削除は即時に反映されます。

[root@centos ~]# nmcli connection delete con-br10
[root@centos ~]# nmcli connection delete con-br20
[root@centos ~]# nmcli connection delete con-br30
[root@centos ~]# nmcli connection delete con-br10-slave-bond0.10
[root@centos ~]# nmcli connection delete con-br20-slave-bond0.20

目次に戻る

CentOS 8 NetworkManager VLAN, Bonding, Bridge

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

トップへ戻る