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デバイスに接続する構成はうまく行えないようです。
- 11 https://www.google.co.jp/
- 5 http://t.co/cjyIA40iMl
- 4 http://pipes.yahoo.com/pipes/pipe.info?_id=e4c70514b5136c08ae93591f390be2e2
- 2 http://www.google.co.jp/url?sa=t&rct=j&q=&esrc=s&source=web&cd=14&ved=0CDAQFjADOAo&url=http://d.hatena.ne.jp/enakai00/20131001/1380616727&ei=yru7VLLPHsHsmAXDhoDQCw&usg=AFQjCNGj0E7Aj2tq2dFdS_NBLi3v7dJHpQ&sig2=ni4-VSiFQMchGe135Hc4_Q
- 2 http://www.google.co.jp/url?sa=t&rct=j&q=&esrc=s&source=web&cd=2&ved=0CCsQFjAB&url=http://d.hatena.ne.jp/enakai00/20130916/1379295816&ei=9bm7VNXPLajymQX__ILQDw&usg=AFQjCNGVTQkbo-7AmX1UGkTH-Q7M2nNAcw&sig2=PiSNNqmEjb3ortryo5TmuA&bvm=bv.83829542,
- 1 http://aikotobaha.blogspot.jp/2014/05/openstack.html
- 1 http://akira-junkbox.blogspot.jp/2014/07/centos7.html
- 1 http://api.twitter.com/1/statuses/show/556827562245382145.json
- 1 http://b.hatena.ne.jp/
- 1 http://b.hatena.ne.jp/entry/d.hatena.ne.jp/enakai00/20140824/1408855090