9RHEL7/CentOS7 NetworkManager徹底入門設定内容の確認方法 (1)NetworkManagerで定義した「接続」の設定内容は、下記の設定ファイルに保存されます。– /etc/sysconfig/network-scripts/ifcfg-<接続名>• インストーラーが作成する設定ファイルでは「” ”」でクォートされていますが、これは必須ではありません。– 設定ファイルを編集した場合は、次のコマンドで変更を反映します。• 実際の設定変更は、設定ファイルの編集ではなく、後述のnmcliコマンドの使用が推奨です。# nmcli c reload <接続名># nmcli c down <接続名>; nmcli c up <接続名># cat /etc/sysconfig/network-scripts/ifcfg-eth0TYPE="Ethernet"...(中略)...NAME="eth2"UUID="bc302e8f-f5f3-478d-bf87-e77d3288dac7"ONBOOT="yes"HWADDR="52:54:00:84:56:D9"IPADDR0="192.168.122.102"PREFIX0="24"GATEWAY0="192.168.122.1"DNS1="192.168.122.1"IPV6_PEERDNS="yes"IPV6_PEERROUTES="yes"
10.
10RHEL7/CentOS7 NetworkManager徹底入門設定内容の確認方法 (2)特定デバイスの設定内容は、次のコマンドで確認します。– これは、該当デバイスに紐付けられた「接続」を通して設定された内容になります。 「接続」の設定内容を直接に確認する際は、次のコマンドを使用します。# nmcli c show eth2connection.id: eth2connection.uuid: bc302e8f-f5f3-478d-bf87-e77d3288dac7...(中略)...ipv4.method: manualipv4.dns: 192.168.122.1ipv4.dns-search:ipv4.addresses: { ip = 192.168.122.102/24, gw = 192.168.122.1 }...(以下省略)...# nmcli d show eth2GENERAL.デバイス: eth2GENERAL.タイプ: ethernetGENERAL.HWADDR: 52:54:00:84:56:D9GENERAL.MTU: 1500GENERAL.状態: 100 (接続済み)GENERAL.接続: eth0GENERAL.CON パス: /org/freedesktop/NetworkManager/ActiveConnection/1WIRED-PROPERTIES.キャリア: オンIP4.アドレス[1]: ip = 192.168.122.102/24, gw = 192.168.122.1IP4.DNS[1]: 192.168.122.1IP6.アドレス[1]: ip = fe80::5054:ff:fe84:56d9/64, gw = ::「デバイス名」「接続名」
13RHEL7/CentOS7 NetworkManager徹底入門新規接続の追加 次は、デバイス「ens6」に紐付けられた接続「ens6-con」を作成して、IPアドレスの設定を行う例です。–デバイス名と接続名が独立していることに注意してください。– 「nmcli c mod」では、次のように複数の項目をまとめて設定可能です。• nmcli c mod <接続名> <設定項目> <設定内容> <設定項目> <設定内容> ...– 設定可能な項目は、現在の設定内容をすべて出力すると分かります。# nmcli c add type eth ifname ens6 con-name ens6-con# nmcli c mod ens6-con ipv4.method manual ipv4.addresses "192.168.1.11/24" ipv4.gateway "192.168.1.1"# nmcli c down ens6-con; nmcli c up ens6-con「デバイス名」 「接続名」「設定変更を反映」# nmcli c show ens6-conconnection.id: ens6-conconnection.uuid: d9388c4e-31af-4ba9-bfda-c58e74316b14connection.interface-name: ens6...(中略)...ipv4.method: manualipv4.dns:ipv4.dns-search:ipv4.addresses: { ip = 192.168.100.11/24, gw = 0.0.0.0 }ipv4.routes:...(以下省略)...「IP/Mask」 「Gateway」
14.
14RHEL7/CentOS7 NetworkManager徹底入門既存接続の変更 既存の接続を設定変更する際は、先に説明した「nmclic mod」を使用します。– 次は、IPアドレスの設定をDHCPに変更する例です。– 「nmcli c edit」は対話的に変更するオプションですが、次の「describe」コマンドで設定項目の説明が表示できます。# nmcli c mod ens6-con ipv4.method auto ipv4.addresses "" ipv4.gateway ""# nmcli c down ens6-con; nmcli c up ens6-con# nmcli c edit ens6-con...nmcli> describe ipv4.addresses=== [addresses] ===[NM プロパティの詳細]Array of IPv4 address structures. Each IPv4 address structure is composed of 3 32-bit values; thefirst being the IPv4 address (network byte order), the second the prefix (1 - 32), and last theIPv4 gateway (network byte order). The gateway may be left as 0 if no gateway exists for thatsubnet. For the 'auto' method, given IP addresses are appended to those returned by automaticconfiguration. Addresses cannot be used with the 'shared', 'link-local', or 'disabled' methods asaddressing is either automatic or disabled with these methods.[nmcli 固有の詳細]次のような形式で IPv4 アドレスの一覧を入力してください。ip[/prefix] [gateway], ip[/prefix] [gateway],...プレフィックスがないものはプレフィックス 32 とみなします。例: 192.168.1.5/24 192.168.1.1, 10.0.0.11/24nmcli> quit
18RHEL7/CentOS7 NetworkManager徹底入門仮想ブリッジの作成手順 (1)次は、仮想ブリッジ「br0」を作成して、物理NIC「ens6」を接続する手順です。– 確認用にbrctlコマンドを提供する「bridge-utils」を導入しておきます。– 仮想ブリッジ「br0」とその接続「bridge-br0」を作成します。• 「con-name」オプションを省略すると、接続名は「bridge-<デバイス名>」になります。– 仮想ブリッジにIPアドレスなどの設定を追加します。– 仮想ブリッジに物理NIC「ens6」を接続するための接続「bridge-slave-ens6」を追加します。• 「con-name」オプションを省略すると、接続名は「bridge-slave-<デバイス名>」になります。# nmcli c add type bridge ifname br0 con-name bridge-br0# yum -y install bridge-utils# nmcli c mod bridge-br0 bridge.stp no# nmcli c mod bridge-br0 ipv4.method manual ipv4.addresses "192.168.1.11/24" ipv4.gateway "192.168.1.1"# nmcli c mod bridge-br0 ipv4.dns 8.8.8.8 ipv4.dns-search redhat.com# nmcli c add type bridge-slave ifname ens6 con-name bridge-slave-ens6 master bridge-br0
19.
19RHEL7/CentOS7 NetworkManager徹底入門仮想ブリッジの作成手順 (2)–それぞれの「接続」をdown/upして、設定変更を反映します。– 設定結果を確認します。# brctl showbridge name bridge id STP enabled interfacesbr0 8000.525400eb919c no ens6# ip addr show br06: br0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UPlink/ether 52:54:00:eb:91:9c brd ff:ff:ff:ff:ff:ffinet 192.168.1.11/24 brd 192.168.1.255 scope global br0valid_lft forever preferred_lft foreverinet6 fe80::5054:ff:feeb:919c/64 scope linkvalid_lft forever preferred_lft forever# nmcli c down bridge-slave-ens6# nmcli c down bridge-br0# nmcli c up bridge-br0# nmcli c up bridge-slave-ens6eth2ens7br0 192.168.1.11ens6
20.
20RHEL7/CentOS7 NetworkManager徹底入門VLANデバイスの作成手順 (1)次は、物理NIC「ens7」にVLAN IDが10と11のVLANデバイスを接続する例です。– VLANデバイス「vlan10」と、それを物理デバイス「ens7」にVLAN ID「10」で接続するための接続「vlan-vlan10」を作成します。• 「con-name」オプションを省略すると、接続名は「bridge-<デバイス名>」になります。– VLANデバイス「vlan10」にIPアドレスの設定を追加します。– 同様にVLANデバイス「vlan11」を作成して、IPアドレスを設定します。– それぞれの「接続」をdown/upして、設定変更を反映します。# nmcli c add type vlan ifname vlan10 con-name vlan-vlan10 dev ens7 id 10# nmcli c mod vlan-vlan10 ipv4.method manual ipv4.addresses "192.168.10.101/24"eth2ens6vlan10 192.168.10.101192.168.11.101# nmcli c add type vlan ifname vlan11 con-name vlan-vlan11 dev ens7 id 11# nmcli c mod vlan-vlan11 ipv4.method manual ipv4.addresses "192.168.11.101/24"vlan11ens7# nmcli c down vlan-vlan10; nmcli c up vlan-vlan10# nmcli c down vlan-vlan11; nmcli c up vlan-vlan11
21.
21RHEL7/CentOS7 NetworkManager徹底入門VLANデバイスの作成手順 (2)–設定結果を確認します。# cat /proc/net/vlan/configVLAN Dev name | VLAN IDName-Type: VLAN_NAME_TYPE_RAW_PLUS_VID_NO_PADvlan10 | 10 | ens7vlan11 | 11 | ens7# ip addr show vlan1017: vlan10@ens7: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UPlink/ether 52:54:00:aa:a4:66 brd ff:ff:ff:ff:ff:ffinet 192.168.10.101/24 brd 192.168.10.255 scope global vlan10valid_lft forever preferred_lft foreverinet6 fe80::5054:ff:feaa:a466/64 scope linkvalid_lft forever preferred_lft forever# ip addr show vlan1118: vlan11@ens7: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UPlink/ether 52:54:00:aa:a4:66 brd ff:ff:ff:ff:ff:ffinet 192.168.11.101/24 brd 192.168.11.255 scope global vlan11valid_lft forever preferred_lft foreverinet6 fe80::5054:ff:feaa:a466/64 scope linkvalid_lft forever preferred_lft forever
23RHEL7/CentOS7 NetworkManager徹底入門Teamデバイスとは? RHEL7では、物理NICの冗長化について、Bondingドライバーに加えて、Teamドライバーが使用できます。–BondingドライバーとTeamドライバーの比較は次の資料が参考になります。• If You Like Bonding, You Will Love Teaminghttp://rhelblog.redhat.com/2014/06/23/team-driver/ Teamドライバーの機能は、基本的にはBondingドライバーと同じですが、実装上で次のような違いがあります。– Bondingドライバーはすべての機能がカーネルモジュールとして実装されており、機能拡張が困難。また、設定変更にはモジュールの再読み込みが必要。– Teamドライバーは、カーネルモジュールとユーザーランドで機能を分離したデザインになっており、機能拡張や管理ツールの実装が容易。 ここでは、nmcliコマンドを用いて、TeamドライバーによるNIC冗長化を設定する手順を紹介します。
24.
24RHEL7/CentOS7 NetworkManager徹底入門Teamデバイスの作成 (1)次は、物理デバイス「ens6」「ens7」をまとめたTeamデバイス「team0」を作成する手順です。– Teamデバイス「team0」とその接続「team-team0」を作成した上で、IPアドレスを設定しておきます。• 「con-name」オプションを省略すると、接続名は「team-<デバイス名>」になります。– 物理NIC「ens6」と「ens7」をTeamデバイスのスレーブとして追加する接続「team-slave-ens6」と「team-slave-ens7」を作成します。• 「con-name」オプションを省略すると、接続名は「team-slave-<デバイス名>」になります。– Teamingの構成は、デフォルトではラウンドロビン方式になります。デフォルトの構成でかまわない場合は、それぞれの接続をdown/upしてTeamデバイスを有効化します。# nmcli c add type team-slave ifname ens6 con-name team-slave-ens6 master team-team0# nmcli c add type team-slave ifname ens7 con-name team-slave-ens7 master team-team0# nmcli c add type team ifname team0 con-name team-team0# nmcli c mod team-team0 ipv4.method manual ipv4.addresses "192.168.1.101/24"# nmcli c down team-team0# nmcli c down team-slave-ens6# nmcli c down team-slave-ens7# nmcli c up team-slave-ens6# nmcli c up team-slave-ens7# nmcli c up team-team0
27RHEL7/CentOS7 NetworkManager徹底入門Teamデバイスの構成変更 (2)次は、TeamデバイスをActive-Bakcup(自動切り戻し無し)に設定する例です。# cat myconfig.conf{"device": "team0","runner": {"name": "activebackup"},"link_watch": {"name": "ethtool"},"ports": {"ens6": {"prio": -10,"sticky": true},"ens7": {"prio": 100}}}# nmcli c mod team-team0 team.config myconfig.conf# nmcli c down team-team0# nmcli c down team-slave-ens6# nmcli c down team-slave-ens7# nmcli c up team-slave-ens6# nmcli c up team-slave-ens7# nmcli c up team-team0# teamdctl team01 statesetup:runner: activebackupports:ens6link watches:link summary: upinstance[link_watch_0]:name: ethtoollink: upens7link watches:link summary: upinstance[link_watch_0]:name: ethtoollink: uprunner:active port: ens7自動切り戻し無しeth2ens6ens7team0192.168.1.101ActiveBackup