Contents
概要
Bondingインターフェイスを元にBridgeを追加します。
前提条件
OS
CentOS Stream 8を使用します。
SELinux
有効です。無効にする場合はこちらを参照して下さい。
Firewalld
無効です。有効化する場合はこちらを参照して必要な許可設定をして下さい。
その他
- nmcliではcon-nameとifnameを省略可能(またはどちらかを)ですが、それらが同じ名前ではどちらに対して設定しているのか分かりづらくなる為、本稿の例ではcon-nameとifnameを明示的に設定しています。また、インストール時に割り当てられたcon-nameも予め変更しています。
- 本稿の手順はBonding設定が完了している状態が前提です。
ネットワーク構成
以下のネットワーク構成を想定しています。対向スイッチはCiscoのイメージです。赤枠はIPアドレスを持ちますが、それ以外はL2透過です。
設定
ステータス確認
ステータス確認の詳細はこちらを参照して下さい。
device
deviceの状態を確認します。今回はbond0をBridgeに割り当てるBondingインターフェイスとします。
[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 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 be8726a3-5fe7-44dc-b00d-7d943097edb8 bond bond0 con-bond0-slave-ens34 5f7af733-ae2f-4dc4-824e-e34a990ff407 ethernet -- con-bond0-slave-ens35 6ed895f7-8d28-45e3-a681-8cd206c146e1 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 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 cd6c711b-9be4-47c8-a60c-a45b46c6d0cb bridge br10 con-br30 2a63d6c1-b33b-41c8-9d30-b4c4615f4d12 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 be8726a3-5fe7-44dc-b00d-7d943097edb8 bond bond0 con-bond0-slave-ens34 5f7af733-ae2f-4dc4-824e-e34a990ff407 ethernet -- con-bond0-slave-ens35 6ed895f7-8d28-45e3-a681-8cd206c146e1 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=cd6c711b-9be4-47c8-a60c-a45b46c6d0cb
DEVICE=br10
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=2a63d6c1-b33b-41c8-9d30-b4c4615f4d12
DEVICE=br30
ONBOOT=yes
BridgeインターフェイスにBondingインターフェイスを割り当て
bond0をBridgeに割り当てます。これらはconnectionではなくdeviceの指定です。br30は内部の仮想マシンのみで使用する為、Bondingインターフェイスを割り当てません。
[root@centos ~]# nmcli connection add type bridge-slave ifname bond0 con-name con-br10-slave-bond0 master br10
状態を確認します。con-br10-slave~はBridgeインターフェイスとBridgeインターフェイスに割り当てたVLANインターフェイスを関連付ける設定です。
[root@centos ~]# nmcli connection show NAME UUID TYPE DEVICE con-br10 cd6c711b-9be4-47c8-a60c-a45b46c6d0cb bridge br10 con-br30 2a63d6c1-b33b-41c8-9d30-b4c4615f4d12 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 be8726a3-5fe7-44dc-b00d-7d943097edb8 bond bond0 con-bond0-slave-ens34 5f7af733-ae2f-4dc4-824e-e34a990ff407 ethernet -- con-bond0-slave-ens35 6ed895f7-8d28-45e3-a681-8cd206c146e1 ethernet -- con-br10-slave-bond0 9cf836b3-5cc6-4042-b677-d9f9fd875d9e ethernet --
/etc/sysconfig/network-scripts/ifcfg-con-br10-slave-bond0が作成されます。
[root@centos ~]# cat /etc/sysconfig/network-scripts/ifcfg-con-br10-slave-bond0
TYPE=Ethernet
NAME=con-br10-slave-bond0
UUID=9cf836b3-5cc6-4042-b677-d9f9fd875d9e
DEVICE=bond0
ONBOOT=yes
BRIDGE=br10
BondingインターフェイスのIPアドレス設定無効化
Bridgeに割り当てたBondingインターフェイスにはIPアドレス設定が不要な為、無効化します。
[root@centos ~]# nmcli connection modify con-bond0 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 [root@centos ~]# nmcli connection up con-br10 [root@centos ~]# nmcli connection up con-br30
Bridgeインターフェイスの削除
下記で削除します。con-br-slave10~は個別に削除する必要があります。削除は即時に反映されます。
[root@centos ~]# nmcli connection delete con-br10 [root@centos ~]# nmcli connection delete con-br30 [root@centos ~]# nmcli connection delete con-br10-slave-bond0