CentOS7 でbonding + bridge

CentOS7(5,6も)環境にはネットワークサービスにNetwork Managerがありますが
bondingやbridgeがうまく動いてくれないんで、手動で設定しました。

下記は、設定したネットワーク構成で、今回の内容には触れてませんがKVMの仮想サーバで使用してます。

ネットワーク構成(bonding + bridge)

ネットワーク構成(bonding + bridge)

■環境
OS:CentOS7
ネットワークインターフェース:eth0,eth1(環境によって違います)

1. NetworkManagerサービスを停止
2. NetworkManagerサービスを無効(自動起動を停止)
3. Bond接続(bonding)を設定
 3.1 物理NIC
 3.2 bond0インターフェース
4. Bridge接続を設定
5. デフォルトゲートウェイアドレスを設定
6. Networkサービスを再起動

1. NetworkManagerサービスを停止
手動でネットワークの設定を変更する場合、NetworkManagerサービスを止めないとグダグダになります、というか、なりました。

# systemctl stop NetworkManager

2. NetworkManagerサービスを無効(自動起動を停止)

# systemctl disable NetworkManager
rm '/etc/systemd/system/multi-user.target.wants/NetworkManager.service'
rm '/etc/systemd/system/dbus-org.freedesktop.NetworkManager.service'
rm '/etc/systemd/system/dbus-org.freedesktop.nm-dispatcher.service

3. Bond接続(bonding)を設定
3.1 物理NIC

bondingする複数の物理NICを設定します。

# vi /etc/sysconfig/network-scripts/ifcfg-eth0
TYPE=Ethernet
BOOTPROTO=none
NAME=eth0
ONBOOT=yes
HWADDR=00:aa:bb:cc:dd:e0#環境によります
MASTER=bond0
SLAVE=yes
# vi /etc/sysconfig/network-scripts/ifcfg-eth1
TYPE=Ethernet
BOOTPROTO=none
NAME=eth1
ONBOOT=yes
HWADDR=00:aa:bb:cc:dd:e1#環境によります
MASTER=bond0
SLAVE=yes

3.2 bond0インターフェース
bond0インターフェースを作成します。
ネットワーク機器の方でジャンボフレームを有効にしてる場合MTU値を設定します。

# vi /etc/sysconfig/network-scripts/ifcfg-bond0
DEVICE=bond0
ONBOOT=yes
TYPE=Bond
BRIDGE=br0
BONDING_OPTS="mode=1 miimon=100"Active/Backupモードで設定してます
MTU=8000ジャンボフレーム値によります

4. Bridge接続を設定

# vi /etc/sysconfig/network-scripts/ifcfg-br0
DEVICE=br0
ONBOOT=yes
TYPE=Bridge
IPADDR=192.168.5.1環境によります
NETMASK=255.255.255.0環境によります
DNS1=192.168.5.2環境によります

5. デフォルトゲートウェイアドレスを設定

# vi /etc/sysconfig/network
GATEWAY=192.168.5.254環境によります

6. Networkサービスを再起動

# /etc/rc.d/init.d/network restart

なお、うちのKVMではlibvirtで仮想ネットワークを作成してませんので、仮想サーバを作成する際
以下のように仮想ネットワークインターフェースをブリッジインターフェースに直接割り当ててます。

仮想サーバOS:CentOS7
仮想サーバ名:HOGE
仮想CPU:1
メモリの割り当て:2GB(2048MB)
仮想HDDサイズ:10GB
コンソール:Spice

# virt-install \
--name HOGE \
--ram 2048 \
--vcpus=1 \
--file=/var/lib/libvirt/images/HOGE.img \
--file-size=10 \
--cdrom=/var/lib/libvirt/CentOS-7.0-1406-x86_64-DVD.iso \
--os-variant=rhel7 \
--network bridge=br0 \
--accelerate \
--graphics spice,port=5932,listen=0.0.0.0 --channel spicevmc \
--video qxl \
--accelerate \
--autostart

参考に・・・・。

# virsh net-list --all
 名前               状態     自動起動  永続
----------------------------------------------------------

# brctl show
bridge name     bridge id               STP enabled     interfaces
br0             8000.00005b9a76c5       no              bond0
                                                        vnet0
                                                        vnet2
                                                        vnet3
                                                        vnet5
                                                        vnet6
br1             8000.000007745609       no              bond1
                                                        vnet1
                                                        vnet4
# cat /proc/net/bonding/bond0
Ethernet Channel Bonding Driver: v3.7.1 (April 27, 2011)

Bonding Mode: adaptive load balancing
Primary Slave: None
Currently Active Slave: eth0
MII Status: up
MII Polling Interval (ms): 1000
Up Delay (ms): 0
Down Delay (ms): 0

Slave Interface: eth0
MII Status: up
Speed: 1000 Mbps
Duplex: full
Link Failure Count: 0
Permanent HW addr: 00:aa:bb:cc:dd:e0
Slave queue ID: 0

Slave Interface: eth1
MII Status: up
Speed: 1000 Mbps
Duplex: full
Link Failure Count: 0
Permanent HW addr: 00:aa:bb:cc:dd:e1
Slave queue ID: 0

============================================
https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/7/html/Networking_Guide/ch-Configure_Network_Bonding.html
https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/7/html/Networking_Guide/ch-Configure_Network_Bridging.html

上記通りにしたのに、bridgeだけじゃなくbondingすら出来ない。何かが違うんだろうけどわからん。
うんで、弄んでたら物理NICにIPアドレスを直振りしてもpingが届かなくなった・・・・。