手当たり次第に書くんだ

飽きっぽいのは本能

目次に戻る

概要

Bridgeを設定します。BridgeインターフェイスはCentOS内部で仮想のスイッチとして振る舞い、Bridgeインターフェイスに割り当てられたネットワークアダプタ同士は同じブロードキャストドメインに所属します。

前提条件

OS

CentOS Stream 8を使用します。

SELinux

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

Firewalld

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

その他

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

ネットワーク構成

想定しているネットワーク構成は下記の通りです。Bridgeは複数の物理ネットワークアダプタを割り当てて物理的なブリッジ(スイッチ)として稼働させることもできますが、このようなケースはネットワーク用のアプライアンスでしか使われません。この為、サーバーとして使用する場合は内部の仮想マシン向けに使用することが殆どです。Bridgeに物理ネットワークアダプタを割り当てれば内部の仮想マシンと外部ネットワークはL2で透過できます。物理ネットワークアダプタを割り当て無ければ仮想化環境の内部でのみ使用するBridgeとなります。

設定

ステータス確認

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

device

deviceの状態を確認します。今回はens34をBridgeに割り当てる物理ネットワークアダプタとします。

[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

Bridge設定

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

Bridgeインターフェイスを追加します。STPはデフォルト値がyesの為、明示的に無効にしています。当該Bridgeが対向スイッチと物理的に2本(物理線の冗長化目的)で接続される場合はL2ループが発生する為、STPを有効にする必要がありますが、このようなケースでは一般的にBondingを構成する為、STPが必要なケースは稀です。

[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-br30とします。

[root@centos ~]# nmcli connection show
NAME       UUID                                  TYPE      DEVICE
con-br10   8bd0185f-754e-4bb2-a6a6-883928124d47  bridge    br10
con-br30   7eddefd1-b0a1-48d1-a660-cad4c5a4f212  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

/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=8bd0185f-754e-4bb2-a6a6-883928124d47
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=7eddefd1-b0a1-48d1-a660-cad4c5a4f212
DEVICE=br30
ONBOOT=yes

Bridgeインターフェイスに物理ネットワークアダプタを割り当て

ens34をbr10に割り当てます。これらはconnectionではなくdeviceの指定です。br30は内部の仮想マシンのみで使用する為、物理ネットワークアダプタを割り当てません。

[root@centos ~]# nmcli connection add type bridge-slave ifname ens34 con-name con-br10-slave-ens34 master br10

状態を確認します。con-br-slave~はBridgeインターフェイスとBridgeインターフェイスに割り当てた物理ネットワークアダプタを関連付ける設定です。

[root@centos ~]# nmcli connection show
NAME                  UUID                                  TYPE      DEVICE
con-br10              8bd0185f-754e-4bb2-a6a6-883928124d47  bridge    br10
con-br30              7eddefd1-b0a1-48d1-a660-cad4c5a4f212  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-br10-slave-ens34  db513454-2f8b-4b4d-9975-7654a394fc20  ethernet  --

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

[root@centos ~]# cat /etc/sysconfig/network-scripts/ifcfg-con-br10-slave-ens34
TYPE=Ethernet
NAME=con-br0-slave-ens34
UUID=79d94b56-7584-4fc9-9192-04536bbe68da
DEVICE=ens34
ONBOOT=yes
BRIDGE=br10

物理ネットワークアダプタのIPアドレス設定無効化

Bridgeに割り当てた物理ネットワークアダプタにはIPアドレス設定が不要な為、無効化します。

[root@centos ~]# nmcli connection modify con-ens34 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-ens34
[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-ens34

目次に戻る

CentOS 8 NetworkManager Bridge

コメントを残す

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

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

トップへ戻る