Hatena::ブログ(Diary)

めもめも

2015-01-18

RHEL7/CentOS7のnmcliコマンドでBonding/VLAN/ブリッジを組み合わせる方法


はじめに


このエントリーは、下記の資料の補足資料として記載しています。まずは、下記の資料でNetworkManagerとnmcliコマンドの基礎を確認しておいてください。


RHEL7/CentOS7 NetworkManager徹底入門



Bondingとブリッジの接続


下記の構成を作成します。物理NICデバイス名は、ens6, ens7としています。


ens6 -|
      |--bond0--br0 (192.168.1.11/24)
ens7 -|

はじめにブリッジ「br0」を用意して、有効化します。


# nmcli c add type bridge ifname br0 con-name bridge-br0
# nmcli c mod bridge-br0 bridge.stp no
# nmcli c mod bridge-br0 ipv4.method manual ipv4.addresses "192.168.1.11/24 192.168.1.1"
# nmcli c mod bridge-br0 ipv4.dns 8.8.8.8 ipv4.dns-search redhat.com

# nmcli c down bridge-br0
# nmcli c up bridge-br0

続いて、Bondingデバイス「bond0」を作成します。「connection.master」と「connection.slave-type」を指定することで、ブリッジに接続しています。最後に各デバイスを有効化しています。


# nmcli c add type bond ifname bond0 con-name bond-bond0 mode active-backup
# nmcli c mod bond-bond0 connection.master br0
# nmcli c mod bond-bond0 connection.slave-type bridge
# nmcli c add type bond-slave ifname ens6 con-name bond-slave-ens6 master bond0
# nmcli c add type bond-slave ifname ens7 con-name bond-slave-ens7 master bond0

# nmcli c down bond-slave-ens6
# nmcli c down bond-slave-ens7
# nmcli c down bond-bond0
# nmcli c up bond-slave-ens6
# nmcli c up bond-slave-ens7
# nmcli c up bond-bond0


BondingとVLANの接続


下記の構成を作成します。物理NICデバイス名は、ens6, ens7としています。


ens6 -|
      |--bond0--vlan10 (192.168.10.11/24)
ens7 -|

はじめにBondingデバイス「bond0」を定義します。本来、IPアドレスは不要なのですが、IPアドレスを設定しないとうまく動作しないためループバックアドレスを割り当てています。


# nmcli c add type bond ifname bond0 con-name bond-bond0 mode active-backup
# nmcli c mod bond-bond0 ipv4.method manual ipv4.addresses "127.0.0.2/8"
# nmcli c add type bond-slave ifname ens6 con-name bond-slave-ens6 master bond0
# nmcli c add type bond-slave ifname ens7 con-name bond-slave-ens7 master bond0

「bond0」をベースデバイスとして、VLANデバイス「vlan10」を作成します。


# nmcli c add type vlan ifname vlan10 con-name vlan-vlan10 dev bond0 id 10
# nmcli c mod vlan-vlan10 ipv4.method manual ipv4.addresses "192.168.10.11/24 192.168.10.1"

最後に、各デバイスを有効化します。


# nmcli c down bond-slave-ens6
# nmcli c down bond-slave-ens7
# nmcli c down bond-bond0
# nmcli c up bond-slave-ens6
# nmcli c up bond-slave-ens7
# nmcli c up bond-bond0

# nmcli c down vlan-vlan10
# nmcli c up vlan-vlan10


BondingとVLANとブリッジの接続


下記の構成を作成します。物理NICデバイス名は、ens6, ens7としています。


ens6 -|
      |--bond0--vlan10--br0 (192.168.1.11/24)
ens7 -|

はじめにブリッジ「br0」を用意して、有効化します。


# nmcli c add type bridge ifname br0 con-name bridge-br0
# nmcli c mod bridge-br0 bridge.stp no
# nmcli c mod bridge-br0 ipv4.method manual ipv4.addresses "192.168.1.11/24 192.168.1.1"
# nmcli c mod bridge-br0 ipv4.dns 8.8.8.8 ipv4.dns-search redhat.com

# nmcli c down bridge-br0
# nmcli c up bridge-br0

ループバックアドレスを指定して、Bondingデバイス「bond0」を作成します。


# nmcli c add type bond ifname bond0 con-name bond-bond0 mode active-backup
# nmcli c mod bond-bond0 ipv4.method manual ipv4.addresses "127.0.0.2/8"
# nmcli c add type bond-slave ifname ens6 con-name bond-slave-ens6 master bond0
# nmcli c add type bond-slave ifname ens7 con-name bond-slave-ens7 master bond0

「bond0」をベースデバイスとして、VLANデバイス「vlan10」を作成します。「connection.master」と「connection.slave-type」を指定することで、ブリッジに接続しています。


# nmcli c add type vlan ifname vlan10 con-name vlan-vlan10 dev bond0 id 10
# nmcli c mod vlan-vlan10 connection.master br0
# nmcli c mod vlan-vlan10 connection.slave-type bridge

最後に各デバイスを有効化します。


# nmcli c down bond-slave-ens6
# nmcli c down bond-slave-ens7
# nmcli c down bond-bond0
# nmcli c up bond-slave-ens6
# nmcli c up bond-slave-ens7
# nmcli c up bond-bond0

# nmcli c down vlan-vlan10
# nmcli c up vlan-vlan10

ただし、本記事の執筆時点(2015/01/18)では、VLANデバイスをブリッジに接続する構成には問題があり、サーバー再起動するとVLANデバイスが有効化されません。サーバー起動後に次のコマンドを実行することで、VLANデバイスが有効になります。


# nmcli c mod vlan-vlan10 connection.slave-type bridge
# nmcli c up vlan-vlan10


その他


この他には、Bondingデバイスの代わりに、Teamデバイスを利用する構成が考えられますが、現在、TeamデバイスをブリッジやVLANデバイスに接続する構成はうまく行えないようです。

スパム対策のためのダミーです。もし見えても何も入力しないでください
ゲスト


画像認証

トラックバック - http://d.hatena.ne.jp/enakai00/20150118/1421587442