Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
ver1.4 中井悦司
Twitter @enakai00
オープンクラウド・キャンパス
RHEL7/CentOS7
NetworkManager徹底入門
2
RHEL7/CentOS7 NetworkManager徹底入門
自己紹介
 中井悦司(なかいえつじ)
– Twitter @enakai00
 日々の仕事
– Senior Solution Architect and
Cloud E...
3
RHEL7/CentOS7 NetworkManager徹底入門
Contents
 NetworkManagerの概要
 nmcliによる設定
 仮想ブリッジ/VLANデバイスの作成
 Teamデバイスの作成
 参考資料
NetworkManagerの概要
5
RHEL7/CentOS7 NetworkManager徹底入門
NetworkManagerとは?
 NetworkManagerは、RHEL7のネットワークを動的に設定するサービスです。
– ネットワークデバイスが動的に追加・削除され...
6
RHEL7/CentOS7 NetworkManager徹底入門
NICのネーミングルールについて
 RHEL7では、NICのネーミングルールに「Predictable Network Interface
Names」が採用されています。...
7
RHEL7/CentOS7 NetworkManager徹底入門
net-toolsとiproute2について
 RHEL7を最小構成でインストールした環境では、「ifconfig, route, netstat,
arp」などのネットワ...
8
RHEL7/CentOS7 NetworkManager徹底入門
デフォルトでの環境構成例
 RHEL7インストーラーのGUIでネットワークを設定すると次のような構成になり
ます。
– デバイスと同じ名前の「接続」が定義されて、該当デバイ...
9
RHEL7/CentOS7 NetworkManager徹底入門
設定内容の確認方法 (1)
 NetworkManagerで定義した「接続」の設定内容は、下記の設定ファイルに保存
されます。
– /etc/sysconfig/netwo...
10
RHEL7/CentOS7 NetworkManager徹底入門
設定内容の確認方法 (2)
 特定デバイスの設定内容は、次のコマンドで確認します。
– これは、該当デバイスに紐付けられた「接続」を通して設定された内容になります。
 ...
11
RHEL7/CentOS7 NetworkManager徹底入門
(参考)nmtuiコマンド
 nmtuiコマンドを使用すると、テキストベースのUIで対話的に設定変更が可能で
す。
– テスト環境などで、簡易的に設定変更を行う際は便利で...
nmcliによる設定
13
RHEL7/CentOS7 NetworkManager徹底入門
新規接続の追加
 次は、デバイス「ens6」に紐付けられた接続「ens6-con」を作成して、IPアドレ
スの設定を行う例です。
– デバイス名と接続名が独立していること...
14
RHEL7/CentOS7 NetworkManager徹底入門
既存接続の変更
 既存の接続を設定変更する際は、先に説明した「nmcli c mod」を使用します。
– 次は、IPアドレスの設定をDHCPに変更する例です。
– 「nm...
15
RHEL7/CentOS7 NetworkManager徹底入門
接続の削除
 既存の接続を削除する際は、「nmcli c delete」を使用します。
– 次は、先に作成した「ens6-con」を削除する例です。
 nmcliの使い...
16
RHEL7/CentOS7 NetworkManager徹底入門
ホストネームの設定について
 nmcliコマンドでホストネームを設定することもできます。
– 次はホストネームを「rhel7」に変更する例です。
 RHEL7では、ホス...
仮想ブリッジ/VLANデバイスの作成
18
RHEL7/CentOS7 NetworkManager徹底入門
仮想ブリッジの作成手順 (1)
 次は、仮想ブリッジ「br0」を作成して、物理NIC「ens6」を接続する手順です。
– 確認用にbrctlコマンドを提供する「bridg...
19
RHEL7/CentOS7 NetworkManager徹底入門
仮想ブリッジの作成手順 (2)
– それぞれの「接続」をdown/upして、設定変更を反映します。
– 設定結果を確認します。
# brctl show
bridge na...
20
RHEL7/CentOS7 NetworkManager徹底入門
VLANデバイスの作成手順 (1)
 次は、物理NIC「ens7」にVLAN IDが10と11のVLANデバイスを接続する例です。
– VLANデバイス「vlan10」と...
21
RHEL7/CentOS7 NetworkManager徹底入門
VLANデバイスの作成手順 (2)
– 設定結果を確認します。
# cat /proc/net/vlan/config
VLAN Dev name | VLAN ID
Na...
Teamデバイスの作成
23
RHEL7/CentOS7 NetworkManager徹底入門
Teamデバイスとは?
 RHEL7では、物理NICの冗長化について、Bondingドライバーに加えて、Teamド
ライバーが使用できます。
– Bondingドライバー...
24
RHEL7/CentOS7 NetworkManager徹底入門
Teamデバイスの作成 (1)
 次は、物理デバイス「ens6」「ens7」をまとめたTeamデバイス「team0」を作成
する手順です。
– Teamデバイス「team...
25
RHEL7/CentOS7 NetworkManager徹底入門
Teamデバイスの作成 (2)
 Teamデバイスの稼動状態を確認します。
– 接続の状態は次のようになります。
– Teamデバイスの稼動状態は、「teamdctl」コ...
26
RHEL7/CentOS7 NetworkManager徹底入門
Teamデバイスの構成変更 (1)
 Teamデバイスの構成は、JSONファイルに記載して、それを読み込みます。
– 下記のディレクトリーにサンプルの設定ファイルが用意さ...
27
RHEL7/CentOS7 NetworkManager徹底入門
Teamデバイスの構成変更 (2)
 次は、TeamデバイスをActive-Bakcup(自動切り戻し無し)に設定する例です。
# cat myconfig.conf
{...
参考資料
29
RHEL7/CentOS7 NetworkManager徹底入門
参考資料
 RHEL7/CentOS7の新規コマンド総まとめ!
– http://www.school.ctc-g.co.jp/columns/nakai/nakai47...
中井悦司
Twitter @enakai00
オープンクラウド・キャンパス
RHEL7/CentOS7でLinux最新技術を
学びましょう!
Upcoming SlideShare
Loading in …5
×

RHEL7/CentOS7 NetworkManager徹底入門

43,225 views

Published on

RHEL7/CentOS7のNetworkManagerの利用方法です。

2015/01/17 ver1.0 公開
2015/01/18 ver1.1 レイアウト調整と参考資料(Bonding/VLAN/ブリッジの組み合わせ)追加
2015/01/21 ver1.2 もろもろ誤植修正
2015/02/05 ver1.3 Teamデバイスの絵を追加
2015/05/23 ver1.4 RHEL7.1に合わせてコマンド修正

Published in: Technology
  • Dating direct: ❶❶❶ http://bit.ly/39pMlLF ❶❶❶
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • Sex in your area is here: ❶❶❶ http://bit.ly/39pMlLF ❶❶❶
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • accessibility Books Library allowing access to top content, including thousands of title from favorite author, plus the ability to read or download a huge selection of books for your pc or smartphone within minutes ,Download or read Ebooks here ... ......................................................................................................................... Download FULL PDF EBOOK here { http://bit.ly/2m6jJ5M }
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • Download or read that Ebooks here ... ......................................................................................................................... DOWNLOAD FULL PDF EBOOK here { http://bit.ly/2m6jJ5M } ......................................................................................................................... Download EPUB Ebook here { http://bit.ly/2m6jJ5M } ......................................................................................................................... Download Doc Ebook here { http://bit.ly/2m6jJ5M } ......................................................................................................................... .........................................................................................................................
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • Download or read that Ebooks here ... ......................................................................................................................... DOWNLOAD FULL PDF EBOOK here { http://bit.ly/2m6jJ5M } ......................................................................................................................... Download EPUB Ebook here { http://bit.ly/2m6jJ5M } ......................................................................................................................... Download Doc Ebook here { http://bit.ly/2m6jJ5M } ......................................................................................................................... .........................................................................................................................
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here

RHEL7/CentOS7 NetworkManager徹底入門

  1. 1. ver1.4 中井悦司 Twitter @enakai00 オープンクラウド・キャンパス RHEL7/CentOS7 NetworkManager徹底入門
  2. 2. 2 RHEL7/CentOS7 NetworkManager徹底入門 自己紹介  中井悦司(なかいえつじ) – Twitter @enakai00  日々の仕事 – Senior Solution Architect and Cloud Evangelist at Red Hat K.K. 企業システムでオープンソースの活用を希望される お客様を全力でご支援させていただきます。  昔とった杵柄 – 素粒子論の研究(超弦理論とか) – 予備校講師(物理担当) – インフラエンジニア(Unix/Linux専門) 好評発売中!
  3. 3. 3 RHEL7/CentOS7 NetworkManager徹底入門 Contents  NetworkManagerの概要  nmcliによる設定  仮想ブリッジ/VLANデバイスの作成  Teamデバイスの作成  参考資料
  4. 4. NetworkManagerの概要
  5. 5. 5 RHEL7/CentOS7 NetworkManager徹底入門 NetworkManagerとは?  NetworkManagerは、RHEL7のネットワークを動的に設定するサービスです。 – ネットワークデバイスが動的に追加・削除される環境に対応することができます。  RHEL7ではデフォルトのネットワーク管理機能となっており、動的変更が不要な場合で も利用が必須です。  設定内容を表す「接続(Connection)」とネットワークデバイスを表す「(デバ イス)Device」を別々に定義して、それらを紐付けるという処理を行います。 – 新しい「デバイス(Device)」が追加された際に、既存の「接続(Connection)」に自 動で紐付けることで動的変更に対応します。管理者が明示的に紐付けを指定することも できます。 NAME="Ethernet connection 1" UUID="bc302e8f-f5f3-478d-bf87-e77d3288dac7" TYPE="Ethernet" BOOTPROTO="static" IPADDR0="192.168.122.10" ... NAME="Wi-Fi connection 1" UUID=6fda7095-1685-468f-a138-608f53eb6048 TYPE=Wireless BOOTPROTO=dhcp ESSID="mynet" ... eth0 接続(Connection) 適用 デバイス (Device)
  6. 6. 6 RHEL7/CentOS7 NetworkManager徹底入門 NICのネーミングルールについて  RHEL7では、NICのネーミングルールに「Predictable Network Interface Names」が採用されています。 – 典型的には、「ens6」「enp0s25」「wlp2s0」などのデバイス名になります(*) 。  デバイスの物理ロケーションに応じて、固定的なデバイス名を割り当てます。 – 後半の「s6」の部分は、BIOSから取得した論理番号で、PCIスロット番号などに基いて、 BIOSが独自に提供します。BIOSが論理番号を提供しない場合は、カーネルが認識したPCI バス番号とスロット番号に基いて、「p<Bus>s<Slot>」のルールになります。 – ロケーション情報を取得できないデバイスは、古典的な「ethX」になります。Linux KVMのvirtio NICなどが該当します。 ens6 en:イーサネット wl:ワイヤレス o:オンボード s:PCI Express デバイス番号(PCIスロット番号などに対応) (*) DELL製のサーバーでは、また異なるネーミングルール(biosdevname)になります。  (参考)「RHEL7のNICのネーミングルール」http://d.hatena.ne.jp/enakai00/20140728/1406504163
  7. 7. 7 RHEL7/CentOS7 NetworkManager徹底入門 net-toolsとiproute2について  RHEL7を最小構成でインストールした環境では、「ifconfig, route, netstat, arp」などのネットワーク関連コマンドが入っていません。 – これらのコマンドは、「net-tools」パッケージを追加することで利用可能になります。  「net-tools」パッケージを導入しない環境では、「iproute2」パッケージに含ま れる「ip, ss」などのコマンドを使用してください。 – 今後は、iproute2パッケージの方が標準になる予定です。 # yum -y install net-tools net-tools iproute2 ifconfig ip addr, ip link route ip route netstat ss netstat -i ip -s link arp ip neighbor 主なコマンドの対応表 (参考)「RHEL7/CentOS7でipコマンドをマスター」http://d.hatena.ne.jp/enakai00/20140712/1405139841
  8. 8. 8 RHEL7/CentOS7 NetworkManager徹底入門 デフォルトでの環境構成例  RHEL7インストーラーのGUIでネットワークを設定すると次のような構成になり ます。 – デバイスと同じ名前の「接続」が定義されて、該当デバイスに紐付けられます。「接 続」の名前は、一般には、デバイス名と無関係なので注意してください。 # nmcli d デバイス タイプ 状態 接続 eth2 ethernet 接続済み eth2 ens6 ethernet 切断済み -- ens7 ethernet 切断済み -- lo loopback 管理無し -- # nmcli c 名前 UUID タイプ デバイス eth2 bc302e8f-f5f3-478d-bf87-e77d3288dac7 802-3-ethernet eth2 「デバイス」の確認(「d」は「device」の略) 「接続」の確認(「c」は「connection」の略) 「デバイス」が紐付けられた「接続」 eth2 ens6 ens7 virtio NIC rtl8139 Linux KVMの仮想マシンに 「Realtek」と「virtio」の 仮想NICをアサインした場合の例
  9. 9. 9 RHEL7/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-eth0 TYPE="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. 10. 10 RHEL7/CentOS7 NetworkManager徹底入門 設定内容の確認方法 (2)  特定デバイスの設定内容は、次のコマンドで確認します。 – これは、該当デバイスに紐付けられた「接続」を通して設定された内容になります。  「接続」の設定内容を直接に確認する際は、次のコマンドを使用します。 # nmcli c show eth2 connection.id: eth2 connection.uuid: bc302e8f-f5f3-478d-bf87-e77d3288dac7 ...(中略)... ipv4.method: manual ipv4.dns: 192.168.122.1 ipv4.dns-search: ipv4.addresses: { ip = 192.168.122.102/24, gw = 192.168.122.1 } ...(以下省略)... # nmcli d show eth2 GENERAL.デバイス: eth2 GENERAL.タイプ: ethernet GENERAL.HWADDR: 52:54:00:84:56:D9 GENERAL.MTU: 1500 GENERAL.状態: 100 (接続済み) GENERAL.接続: eth0 GENERAL.CON パス: /org/freedesktop/NetworkManager/ActiveConnection/1 WIRED-PROPERTIES.キャリア: オン IP4.アドレス[1]: ip = 192.168.122.102/24, gw = 192.168.122.1 IP4.DNS[1]: 192.168.122.1 IP6.アドレス[1]: ip = fe80::5054:ff:fe84:56d9/64, gw = :: 「デバイス名」 「接続名」
  11. 11. 11 RHEL7/CentOS7 NetworkManager徹底入門 (参考)nmtuiコマンド  nmtuiコマンドを使用すると、テキストベースのUIで対話的に設定変更が可能で す。 – テスト環境などで、簡易的に設定変更を行う際は便利ですが、設定手順をコマンドとし て記録/再現することができませんので、本番環境では使用しない方がよいでしょう。
  12. 12. nmcliによる設定
  13. 13. 13 RHEL7/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-con connection.id: ens6-con connection.uuid: d9388c4e-31af-4ba9-bfda-c58e74316b14 connection.interface-name: ens6 ...(中略)... ipv4.method: manual ipv4.dns: ipv4.dns-search: ipv4.addresses: { ip = 192.168.100.11/24, gw = 0.0.0.0 } ipv4.routes: ...(以下省略)... 「IP/Mask」 「Gateway」
  14. 14. 14 RHEL7/CentOS7 NetworkManager徹底入門 既存接続の変更  既存の接続を設定変更する際は、先に説明した「nmcli c 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; the first being the IPv4 address (network byte order), the second the prefix (1 - 32), and last the IPv4 gateway (network byte order). The gateway may be left as 0 if no gateway exists for that subnet. For the 'auto' method, given IP addresses are appended to those returned by automatic configuration. Addresses cannot be used with the 'shared', 'link-local', or 'disabled' methods as addressing 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/24 nmcli> quit
  15. 15. 15 RHEL7/CentOS7 NetworkManager徹底入門 接続の削除  既存の接続を削除する際は、「nmcli c delete」を使用します。 – 次は、先に作成した「ens6-con」を削除する例です。  nmcliの使い方は、次のオンラインドキュメントも参考になります。 – # man nmcli • nmcliコマンドの全般的な説明 – # man nmcli-examples • Bonding, Teaming, Bridgeなどの構成例が記載されています # nmcli c 名前 UUID タイプ デバイス eth2 bc302e8f-f5f3-478d-bf87-e77d3288dac7 802-3-ethernet eth2 ens6-con d9388c4e-31af-4ba9-bfda-c58e74316b14 802-3-ethernet ens6 # nmcli c delete ens6-con # nmcli c 名前 UUID タイプ デバイス eth2 bc302e8f-f5f3-478d-bf87-e77d3288dac7 802-3-ethernet eth2
  16. 16. 16 RHEL7/CentOS7 NetworkManager徹底入門 ホストネームの設定について  nmcliコマンドでホストネームを設定することもできます。 – 次はホストネームを「rhel7」に変更する例です。  RHEL7では、ホストネームの管理はsystemdが行っており、本来は、hostnamectl コマンドで設定します。 – ncmliは、hostnamectlコマンドに相当するAPIでsystemdを呼び出して、ホストネームを 変更しています。 – 次はhostnamectlコマンドでホストネームを変更する例です。 # hostnamectl set-hostname rhel7 # hostnamectl Static hostname: rhel7 Icon name: computer Chassis: n/a Machine ID: d16c14e0d938a994f66447949c8f070e Boot ID: 84e3caad343e436eb0ad6663e64f92ab Virtualization: kvm Operating System: Employee SKU CPE OS Name: cpe:/o:redhat:enterprise_linux:7.0:GA:server Kernel: Linux 3.10.0-123.13.2.el7.x86_64 Architecture: x86_64 # nmcli g hostname rhel7 # nmcli g hostname rhel7
  17. 17. 仮想ブリッジ/VLANデバイスの作成
  18. 18. 18 RHEL7/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. 19. 19 RHEL7/CentOS7 NetworkManager徹底入門 仮想ブリッジの作成手順 (2) – それぞれの「接続」をdown/upして、設定変更を反映します。 – 設定結果を確認します。 # brctl show bridge name bridge id STP enabled interfaces br0 8000.525400eb919c no ens6 # ip addr show br0 6: br0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP link/ether 52:54:00:eb:91:9c brd ff:ff:ff:ff:ff:ff inet 192.168.1.11/24 brd 192.168.1.255 scope global br0 valid_lft forever preferred_lft forever inet6 fe80::5054:ff:feeb:919c/64 scope link valid_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-ens6 eth2 ens7 br0 192.168.1.11 ens6
  20. 20. 20 RHEL7/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" eth2 ens6 vlan10 192.168.10.101 192.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" vlan11 ens7 # nmcli c down vlan-vlan10; nmcli c up vlan-vlan10 # nmcli c down vlan-vlan11; nmcli c up vlan-vlan11
  21. 21. 21 RHEL7/CentOS7 NetworkManager徹底入門 VLANデバイスの作成手順 (2) – 設定結果を確認します。 # cat /proc/net/vlan/config VLAN Dev name | VLAN ID Name-Type: VLAN_NAME_TYPE_RAW_PLUS_VID_NO_PAD vlan10 | 10 | ens7 vlan11 | 11 | ens7 # ip addr show vlan10 17: vlan10@ens7: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP link/ether 52:54:00:aa:a4:66 brd ff:ff:ff:ff:ff:ff inet 192.168.10.101/24 brd 192.168.10.255 scope global vlan10 valid_lft forever preferred_lft forever inet6 fe80::5054:ff:feaa:a466/64 scope link valid_lft forever preferred_lft forever # ip addr show vlan11 18: vlan11@ens7: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP link/ether 52:54:00:aa:a4:66 brd ff:ff:ff:ff:ff:ff inet 192.168.11.101/24 brd 192.168.11.255 scope global vlan11 valid_lft forever preferred_lft forever inet6 fe80::5054:ff:feaa:a466/64 scope link valid_lft forever preferred_lft forever
  22. 22. Teamデバイスの作成
  23. 23. 23 RHEL7/CentOS7 NetworkManager徹底入門 Teamデバイスとは?  RHEL7では、物理NICの冗長化について、Bondingドライバーに加えて、Teamド ライバーが使用できます。 – BondingドライバーとTeamドライバーの比較は次の資料が参考になります。 • If You Like Bonding, You Will Love Teaming http://rhelblog.redhat.com/2014/06/23/team-driver/  Teamドライバーの機能は、基本的にはBondingドライバーと同じですが、実装上 で次のような違いがあります。 – Bondingドライバーはすべての機能がカーネルモジュールとして実装されており、機能拡 張が困難。また、設定変更にはモジュールの再読み込みが必要。 – Teamドライバーは、カーネルモジュールとユーザーランドで機能を分離したデザインに なっており、機能拡張や管理ツールの実装が容易。  ここでは、nmcliコマンドを用いて、TeamドライバーによるNIC冗長化を設定する 手順を紹介します。
  24. 24. 24 RHEL7/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
  25. 25. 25 RHEL7/CentOS7 NetworkManager徹底入門 Teamデバイスの作成 (2)  Teamデバイスの稼動状態を確認します。 – 接続の状態は次のようになります。 – Teamデバイスの稼動状態は、「teamdctl」コマンドで確認します。 # teamdctl team0 state setup: runner: roundrobin ports: ens7 link watches: link summary: up instance[link_watch_0]: name: ethtool link: up ens6 link watches: link summary: up instance[link_watch_0]: name: ethtool link: up # nmcli c 名前 UUID タイプ デバイス team-slave-ens7 0114a0a7-e3f0-43aa-9ba8-b716ca9d55f9 802-3-ethernet ens7 eth2 bc302e8f-f5f3-478d-bf87-e77d3288dac7 802-3-ethernet eth2 team-slave-ens6 00d62380-6f5a-4d53-887d-3509d65ec400 802-3-ethernet ens6 Team-team0 869751cf-d123-4fa1-88a6-ce7d86474e5a team team0
  26. 26. 26 RHEL7/CentOS7 NetworkManager徹底入門 Teamデバイスの構成変更 (1)  Teamデバイスの構成は、JSONファイルに記載して、それを読み込みます。 – 下記のディレクトリーにサンプルの設定ファイルが用意されています。 – ロードバランス方式の他に、NICの死活監視方法(ethtoolによるリンク監視、ARPリク エストの応答確認など)が設定可能です。 # ls /usr/share/doc/teamd-1.9/example_configs/ activebackup_arp_ping_1.conf activebackup_multi_lw_1.conf loadbalance_2.conf activebackup_arp_ping_2.conf activebackup_nsna_ping_1.conf loadbalance_3.conf activebackup_ethtool_1.conf broadcast.conf random.conf activebackup_ethtool_2.conf lacp_1.conf roundrobin.conf activebackup_ethtool_3.conf loadbalance_1.conf roundrobin_2.conf
  27. 27. 27 RHEL7/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 state setup: runner: activebackup ports: ens6 link watches: link summary: up instance[link_watch_0]: name: ethtool link: up ens7 link watches: link summary: up instance[link_watch_0]: name: ethtool link: up runner: active port: ens7 自動切り戻し無し eth2 ens6 ens7 team0 192.168.1.101 Active Backup
  28. 28. 参考資料
  29. 29. 29 RHEL7/CentOS7 NetworkManager徹底入門 参考資料  RHEL7/CentOS7の新規コマンド総まとめ! – http://www.school.ctc-g.co.jp/columns/nakai/nakai47.html   RHEL7/CentOS7を満喫するための情報まとめ – http://d.hatena.ne.jp/enakai00/20141202/1417492840  RHEL7/CentOS7のnmcliコマンドでTeamデバイス/Bonding/VLAN/ブリッジを組み合わせる 方法 – http://d.hatena.ne.jp/enakai00/20150118/1421587442
  30. 30. 中井悦司 Twitter @enakai00 オープンクラウド・キャンパス RHEL7/CentOS7でLinux最新技術を 学びましょう!

×