目次
文書の過去の版を表示しています。
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
参考文献
RHEL7/CentOS7 NetworkManager徹底入門
nmcliで仮想ブリッジ作成 - めもめも
6.2. USING THE NETWORKMANAGER COMMAND LINE TOOL, NMCLI
ブリッジ接続の設定(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"