ユーザ用ツール

サイト用ツール


サイドバー

Top

検索タグ

変更履歴

メニュー


linux:commands:network:network_manager_bridge

NetworkManager によるブリッジの設定(nmcli)

デバイスの確認

sysfs でデバイス名を確認する場合。

$ ls /sys/class/net

enp3s0  enp8s0f0  enp8s0f1  lo

nmcli でデバイスを確認する場合。

$ nmcli dev
デバイス    タイプ    状態      接続
enp3s0      ethernet  接続済み  eno1
enp8s0f0    ethernet  切断済み  --
enp8s0f1    ethernet  切断済み  --
lo          loopback  管理無し  --

もしも、すべてのインタフェースが接続済みな場合は以下のような表示になる。

$ nmcli dev
デバイス    タイプ    状態      接続
enp3s0      ethernet  接続済み  eno1
enp8s0f0    ethernet  接続済み  enp8s0f0
enp8s0f1    ethernet  接続済み  enp8s0f1
lo          loopback  管理無し  --
$ nmcli con
名前        UUID                                  タイプ          デバイス
eno1        b00bea8d-9069-4614-8870-614132313886  802-3-ethernet  enp3s0
enp8s0f0    83d1c2bb-05e6-46b9-9e52-609366a97cf2  802-3-ethernet  enp8s0f0
enp8s0f1    e048c528-f115-4860-85f5-c69da4854e71  802-3-ethernet  enp8s0f1

その場合は、現在 SSH 接続しているインタフェースを残して、それ以外を削除しても問題ない。

$ sudo nmcli con delete enp8s0f0
$ sudo nmcli con delete enp8s0f1

削除後の確認。

$ nmcli con
名前        UUID                                  タイプ          デバイス
eno1        b00bea8d-9069-4614-8870-614132313886  802-3-ethernet  enp3s0
$ nmcli dev
デバイス    タイプ    状態      接続
enp3s0      ethernet  接続済み  eno1
enp8s0f0    ethernet  切断済み  --
enp8s0f1    ethernet  切断済み  --

仮想ブリッジインタフェースの追加

仮想ブリッジをデバイス数だけ追加する。

$ sudo nmcli con add type bridge ifname br0
接続 'bridge-br0' (3e2abe55-38c6-4ed6-8b75-178eb60850ca) が正常に追加されました。
$ sudo nmcli con add type bridge ifname br1
接続 'bridge-br1' (5ace5e7f-c219-4252-8c75-a98995b1bd3a) が正常に追加されました。
$ sudo nmcli con add type bridge ifname br2
接続 'bridge-br2' (b6b87482-2903-469f-a077-d62b1076ad27) が正常に追加されました。

追加された仮想ブリッジの確認。

$ nmcli con
名前        UUID                                  タイプ          デバイス
bridge-br2  b6b87482-2903-469f-a077-d62b1076ad27  bridge          br2
bridge-br1  5ace5e7f-c219-4252-8c75-a98995b1bd3a  bridge          br1
bridge-br0  3e2abe55-38c6-4ed6-8b75-178eb60850ca  bridge          br0
eno1        b00bea8d-9069-4614-8870-614132313886  802-3-ethernet  enp3s0

デバイスを仮想ブリッジに接続する。(仮想ブリッジスレーブの追加)

$ sudo nmcli con add type bridge-slave ifname enp3s0 master bridge-br0
接続 'bridge-slave-enp3s0' (df987398-a7b6-48cb-8e14-419faa8a68e7) が正常に追加されました。
$ sudo nmcli con add type bridge-slave ifname enp8s0f0 master bridge-br1
接続 'bridge-slave-enp8s0f0' (fcd647ca-db4d-4c36-8662-fb1ee4148c43) が正常に追加されました。
$ sudo nmcli con add type bridge-slave ifname enp8s0f1 master bridge-br2
接続 'bridge-slave-enp8s0f1' (c5160a7c-71a6-47d0-801f-a37a5732e025) が正常に追加されました。

追加された仮想ブリッジスレーブの確認。
※この段階で br1、br2 は DHCP によりIPアドレスが振られて利用可能な状態となる。

$ nmcli con
名前                   UUID                                  タイプ          デバイス
bridge-slave-enp8s0f1  c5160a7c-71a6-47d0-801f-a37a5732e025  802-3-ethernet  enp8s0f1
bridge-slave-enp8s0f0  fcd647ca-db4d-4c36-8662-fb1ee4148c43  802-3-ethernet  enp8s0f0
bridge-slave-enp3s0    df987398-a7b6-48cb-8e14-419faa8a68e7  802-3-ethernet  --
bridge-br2             b6b87482-2903-469f-a077-d62b1076ad27  bridge          br2
bridge-br1             5ace5e7f-c219-4252-8c75-a98995b1bd3a  bridge          br1
bridge-br0             3e2abe55-38c6-4ed6-8b75-178eb60850ca  bridge          br0
eno1                   b00bea8d-9069-4614-8870-614132313886  802-3-ethernet  enp3s0
$ nmcli dev
デバイス    タイプ    状態                     接続
br0         bridge    接続中(IP 設定を取得中) bridge-br0
br1         bridge    接続済み                 bridge-br1
br2         bridge    接続済み                 bridge-br2
enp3s0      ethernet  接続済み                 eno1
enp8s0f0    ethernet  接続済み                 bridge-slave-enp8s0f0
enp8s0f1    ethernet  接続済み                 bridge-slave-enp8s0f1
lo          loopback  管理無し                 --

仮想ブリッジのIPアドレスを設定する。

$ sudo nmcli connection modify bridge-br0 \
bridge.stp no \
ipv4.method manual ipv4.addresses "192.168.10.70/24" \
ipv4.gateway "192.168.10.254" \
ipv4.dns "192.168.10.254" \
ipv4.dns-search "tomoyan.local" \
ipv4.never-default no
$ sudo nmcli connection modify bridge-br1 \
bridge.stp no \
ipv4.method manual ipv4.addresses "192.168.10.71/24" \
ipv4.gateway "192.168.10.254" \
ipv4.dns "192.168.10.254" \
ipv4.dns-search "tomoyan.local" \
ipv4.never-default yes
$ sudo nmcli connection modify bridge-br2 \
bridge.stp no \
ipv4.method manual ipv4.addresses "192.168.10.72/24" \
ipv4.gateway "192.168.10.254" \
ipv4.dns "192.168.10.254" \
ipv4.dns-search "tomoyan.local" \
ipv4.never-default yes

※ipv4.never-default no は DEFROUTE=yes となる。

アクティブインタフェースの削除と再起動。
※SSHによるリモート作業では、削除と共に再起動する必要がある。

$ sudo nmcli connection delete eno1;reboot

参考文献

ブリッジ接続の設定(network編)

NetworkManager の無効化

NetworkManager 0.9.8 より前はブリッジをサポートしないため、ネットワークスクリプトで構成する必要がある。

CentOS の場合

$ sudo chkconfig NetworkManager off
$ sudo service NetworkManager stop

Fedora の場合

$ sudo systemctl disable NetworkManager.service
$ sudo systemctl stop NetworkManager.service
$ sudo systemctl enable network.service
$ sudo systemctl start network.service

※Fedora19 の NetworkManager は 0.9.8 からブリッジをサポートします。

ネットワークデバイス名の固定

Kernelアップデートでデバイス名が変わりインタフェースが使えなくなる場合は、以下の方法でデバイス名を固定する。
ネットワークデバイス名の変更

ブリッジ用インタフェースの設定

$ sudo vi /etc/sysconfig/network-scripts/ifcfg-br0
/etc/sysconfig/network-scripts/ifcfg-br0
DEVICE=br0
TYPE=Bridge
ONBOOT=yes
NM_CONTROLLED=no
BOOTPROTO=static
IPADDR=192.168.1.1
NETMASK=255.255.255.0
GATEWAY=192.168.1.254
DNS1=192.168.1.254
DEFROUTE=yes

NICのブリッジ設定

$ sudo vi /etc/sysconfig/network-scripts/ifcfg-eth0
/etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
HWADDR=XX:YY:ZZ:04:24:DA
TYPE=Ethernet
ONBOOT=yes
NM_CONTROLLED=no
BOOTPROTO=none
BRIDGE=br0
ETHTOOL_OPTS="wol g"

参考・関連文献

linux/commands/network/network_manager_bridge.txt · 最終更新: 2021/11/23 12:51 by ともやん