Configure network bonding in CentOS7(Don't forget subnetmask!)

先日CentOS7のbondingの設定で、固定ipアドレスを設定する際にサブネットマスクの範囲の指定を忘れていました。

その結果ネットワークの疎通がうまくいかず、暫く悩んでしまった...。しかも2回目...。

戒めも兼ねてメモ。

2つのネットワークカード(ens33、ens34)を仮想的なインターフェース(bond0)のスレーブとして追加する設定を行う。

まずbond0インターフェースの設定を行う。

nmcli connection add \
type bond \
ifname bond0 \
con-name con-bond0 \
mode 1 \
miimon 1000 \
ip4 "192.168.1.20/24" \
gw4 "192.168.1.10"

ここで、ip4 "192.168.1.20/24"ip4 "192.168.1.20"のように書いてしまうと、サブネットマスクがデフォルトの/32(255.255.255.255)に設定されるので注意!

/24とすることでサブネットマスクが255.255.255.0に設定される。当然といえば当然かも知れないが、CentOS6ではifcfg-bond0ファイルで明示的にNETMASK=255.255.255.0と手で書いていたので、つい忘れてしまうんや...。

あとはDNSの設定をして、

nmcli connection modify con-bond0 ipv4.dns "8.8.8.8 8.8.4.4"

ネットワークカードを仮想インターフェースの配下にして、

nmcli connection add type bond-slave ifname ens33 master con-bond0
nmcli connection add type bond-slave ifname ens34 master con-bond0

設定を反映させるためにnetworkを再起動すればOK。

systemctl restart network

bond0の設定内容はnmcli -p device show bond0で確認することが出来る。

  • -p(--pretty)は出力が見やすくなるオプション

参考