Movatterモバイル変換


[0]ホーム

URL:


Etsuji Nakai, profile picture
Uploaded byEtsuji Nakai
PDF, PPTX53,718 views

RHEL7/CentOS7 NetworkManager徹底入門

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に合わせてコマンド修正

Embed presentation

Download as PDF, PPTX
ver1.4 中井悦司Twitter @enakai00オープンクラウド・キャンパスRHEL7/CentOS7NetworkManager徹底入門
2RHEL7/CentOS7 NetworkManager徹底入門自己紹介 中井悦司(なかいえつじ)– Twitter @enakai00 日々の仕事– Senior Solution Architect andCloud Evangelist at Red Hat K.K.企業システムでオープンソースの活用を希望されるお客様を全力でご支援させていただきます。 昔とった杵柄– 素粒子論の研究(超弦理論とか)– 予備校講師(物理担当)– インフラエンジニア(Unix/Linux専門)好評発売中!
3RHEL7/CentOS7 NetworkManager徹底入門Contents NetworkManagerの概要 nmcliによる設定 仮想ブリッジ/VLANデバイスの作成 Teamデバイスの作成 参考資料
NetworkManagerの概要
5RHEL7/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-608f53eb6048TYPE=WirelessBOOTPROTO=dhcpESSID="mynet"...eth0接続(Connection)適用デバイス(Device)
6RHEL7/CentOS7 NetworkManager徹底入門NICのネーミングルールについて RHEL7では、NICのネーミングルールに「Predictable Network InterfaceNames」が採用されています。– 典型的には、「ens6」「enp0s25」「wlp2s0」などのデバイス名になります(*)。 デバイスの物理ロケーションに応じて、固定的なデバイス名を割り当てます。– 後半の「s6」の部分は、BIOSから取得した論理番号で、PCIスロット番号などに基いて、BIOSが独自に提供します。BIOSが論理番号を提供しない場合は、カーネルが認識したPCIバス番号とスロット番号に基いて、「p<Bus>s<Slot>」のルールになります。– ロケーション情報を取得できないデバイスは、古典的な「ethX」になります。LinuxKVMのvirtio NICなどが該当します。ens6en:イーサネットwl:ワイヤレスo:オンボードs:PCI Expressデバイス番号(PCIスロット番号などに対応)(*) DELL製のサーバーでは、また異なるネーミングルール(biosdevname)になります。 (参考)「RHEL7のNICのネーミングルール」http://d.hatena.ne.jp/enakai00/20140728/1406504163
7RHEL7/CentOS7 NetworkManager徹底入門net-toolsとiproute2について RHEL7を最小構成でインストールした環境では、「ifconfig, route, netstat,arp」などのネットワーク関連コマンドが入っていません。– これらのコマンドは、「net-tools」パッケージを追加することで利用可能になります。 「net-tools」パッケージを導入しない環境では、「iproute2」パッケージに含まれる「ip, ss」などのコマンドを使用してください。– 今後は、iproute2パッケージの方が標準になる予定です。# yum -y install net-toolsnet-tools iproute2ifconfig ip addr, ip linkroute ip routenetstat ssnetstat -i ip -s linkarp ip neighbor主なコマンドの対応表(参考)「RHEL7/CentOS7でipコマンドをマスター」http://d.hatena.ne.jp/enakai00/20140712/1405139841
8RHEL7/CentOS7 NetworkManager徹底入門デフォルトでの環境構成例 RHEL7インストーラーのGUIでネットワークを設定すると次のような構成になります。– デバイスと同じ名前の「接続」が定義されて、該当デバイスに紐付けられます。「接続」の名前は、一般には、デバイス名と無関係なので注意してください。# nmcli dデバイス タイプ 状態 接続eth2 ethernet 接続済み eth2ens6 ethernet 切断済み --ens7 ethernet 切断済み --lo loopback 管理無し --# nmcli c名前 UUID タイプ デバイスeth2 bc302e8f-f5f3-478d-bf87-e77d3288dac7 802-3-ethernet eth2「デバイス」の確認(「d」は「device」の略)「接続」の確認(「c」は「connection」の略)「デバイス」が紐付けられた「接続」eth2ens6ens7virtio NICrtl8139Linux KVMの仮想マシンに「Realtek」と「virtio」の仮想NICをアサインした場合の例
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"
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 = ::「デバイス名」「接続名」
11RHEL7/CentOS7 NetworkManager徹底入門(参考)nmtuiコマンド nmtuiコマンドを使用すると、テキストベースのUIで対話的に設定変更が可能です。– テスト環境などで、簡易的に設定変更を行う際は便利ですが、設定手順をコマンドとして記録/再現することができませんので、本番環境では使用しない方がよいでしょう。
nmcliによる設定
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」
14RHEL7/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; 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
15RHEL7/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 eth2ens6-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
16RHEL7/CentOS7 NetworkManager徹底入門ホストネームの設定について nmcliコマンドでホストネームを設定することもできます。– 次はホストネームを「rhel7」に変更する例です。 RHEL7では、ホストネームの管理はsystemdが行っており、本来は、hostnamectlコマンドで設定します。– ncmliは、hostnamectlコマンドに相当するAPIでsystemdを呼び出して、ホストネームを変更しています。– 次はhostnamectlコマンドでホストネームを変更する例です。# hostnamectl set-hostname rhel7# hostnamectlStatic hostname: rhel7Icon name: computerChassis: n/aMachine ID: d16c14e0d938a994f66447949c8f070eBoot ID: 84e3caad343e436eb0ad6663e64f92abVirtualization: kvmOperating System: Employee SKUCPE OS Name: cpe:/o:redhat:enterprise_linux:7.0:GA:serverKernel: Linux 3.10.0-123.13.2.el7.x86_64Architecture: x86_64# nmcli g hostname rhel7# nmcli g hostnamerhel7
仮想ブリッジ/VLANデバイスの作成
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
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
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
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
Teamデバイスの作成
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冗長化を設定する手順を紹介します。
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
25RHEL7/CentOS7 NetworkManager徹底入門Teamデバイスの作成 (2) Teamデバイスの稼動状態を確認します。– 接続の状態は次のようになります。– Teamデバイスの稼動状態は、「teamdctl」コマンドで確認します。# teamdctl team0 statesetup:runner: roundrobinports:ens7link watches:link summary: upinstance[link_watch_0]:name: ethtoollink: upens6link watches:link summary: upinstance[link_watch_0]:name: ethtoollink: up# nmcli c名前 UUID タイプ デバイスteam-slave-ens7 0114a0a7-e3f0-43aa-9ba8-b716ca9d55f9 802-3-ethernet ens7eth2 bc302e8f-f5f3-478d-bf87-e77d3288dac7 802-3-ethernet eth2team-slave-ens6 00d62380-6f5a-4d53-887d-3509d65ec400 802-3-ethernet ens6Team-team0 869751cf-d123-4fa1-88a6-ce7d86474e5a team team0
26RHEL7/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.confactivebackup_arp_ping_2.conf activebackup_nsna_ping_1.conf loadbalance_3.confactivebackup_ethtool_1.conf broadcast.conf random.confactivebackup_ethtool_2.conf lacp_1.conf roundrobin.confactivebackup_ethtool_3.conf loadbalance_1.conf roundrobin_2.conf
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
参考資料
29RHEL7/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
中井悦司Twitter @enakai00オープンクラウド・キャンパスRHEL7/CentOS7でLinux最新技術を学びましょう!

Recommended

PDF
VirtualBox と Rocky Linux 8 で始める Pacemaker ~ VirtualBox でも STONITH 機能が試せる! Vi...
 
PPTX
Apache BigtopによるHadoopエコシステムのパッケージング(Open Source Conference 2021 Online/Osaka...
PDF
Hadoop/Spark を使うなら Bigtop を使い熟そう! ~並列分散処理基盤のいま、から Bigtop の最近の取り組みまで一挙ご紹介~(Ope...
PDF
Dockerイメージの理解とコンテナのライフサイクル
PDF
PostgreSQLをKubernetes上で活用するためのOperator紹介!(Cloud Native Database Meetup #3 発表資料)
PDF
[Aurora事例祭り]Amazon Aurora を使いこなすためのベストプラクティス
PDF
DockerとPodmanの比較
PPTX
iostat await svctm の 見かた、考え方
PDF
これからLDAPを始めるなら 「389-ds」を使ってみよう
PDF
単なるキャッシュじゃないよ!?infinispanの紹介
PPTX
急速に進化を続けるCNIプラグイン Antrea
PPTX
「おうちクラウド」が今熱い!
PDF
PostgreSQLバックアップの基本
PPTX
Hybrid Azure AD Join 動作の仕組みを徹底解説
PDF
Consulを頑張って理解する
PPTX
その Pod 突然落ちても大丈夫ですか!?(OCHaCafe5 #5 実験!カオスエンジニアリング 発表資料)
PPTX
サポート エンジニアが Azure Networking をじっくりたっぷり語りつくす会
PDF
全自動Zabbix
PDF
OpenStack超入門シリーズ いまさら聞けないNeutronの使い方
PDF
Dapr × Kubernetes ではじめるポータブルなマイクロサービス(CloudNative Days Tokyo 2020講演資料)
PPTX
MongoDBが遅いときの切り分け方法
PDF
Apache Kafkaって本当に大丈夫?~故障検証のオーバービューと興味深い挙動の紹介~
PDF
ゼロからはじめるKVM超入門
PDF
RDF Semantic Graph「RDF 超入門」
PDF
OpenStack超入門シリーズ Novaのディスク周りあれこれ
PPTX
Zabbix による ms sql監視 ~データベースモニタリング~ odbc
PPTX
Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)
PDF
ストリーム処理を支えるキューイングシステムの選び方
PPTX
コンテナネットワーキング(CNI)最前線
PDF
君にもできる! にゅーとろん君になってみよー!! 「Neutronになって理解するOpenStack Net - OpenStack最新情報セミナー ...

More Related Content

PDF
VirtualBox と Rocky Linux 8 で始める Pacemaker ~ VirtualBox でも STONITH 機能が試せる! Vi...
 
PPTX
Apache BigtopによるHadoopエコシステムのパッケージング(Open Source Conference 2021 Online/Osaka...
PDF
Hadoop/Spark を使うなら Bigtop を使い熟そう! ~並列分散処理基盤のいま、から Bigtop の最近の取り組みまで一挙ご紹介~(Ope...
PDF
Dockerイメージの理解とコンテナのライフサイクル
PDF
PostgreSQLをKubernetes上で活用するためのOperator紹介!(Cloud Native Database Meetup #3 発表資料)
PDF
[Aurora事例祭り]Amazon Aurora を使いこなすためのベストプラクティス
PDF
DockerとPodmanの比較
PPTX
iostat await svctm の 見かた、考え方
VirtualBox と Rocky Linux 8 で始める Pacemaker ~ VirtualBox でも STONITH 機能が試せる! Vi...
 
Apache BigtopによるHadoopエコシステムのパッケージング(Open Source Conference 2021 Online/Osaka...
Hadoop/Spark を使うなら Bigtop を使い熟そう! ~並列分散処理基盤のいま、から Bigtop の最近の取り組みまで一挙ご紹介~(Ope...
Dockerイメージの理解とコンテナのライフサイクル
PostgreSQLをKubernetes上で活用するためのOperator紹介!(Cloud Native Database Meetup #3 発表資料)
[Aurora事例祭り]Amazon Aurora を使いこなすためのベストプラクティス
DockerとPodmanの比較
iostat await svctm の 見かた、考え方

What's hot

PDF
これからLDAPを始めるなら 「389-ds」を使ってみよう
PDF
単なるキャッシュじゃないよ!?infinispanの紹介
PPTX
急速に進化を続けるCNIプラグイン Antrea
PPTX
「おうちクラウド」が今熱い!
PDF
PostgreSQLバックアップの基本
PPTX
Hybrid Azure AD Join 動作の仕組みを徹底解説
PDF
Consulを頑張って理解する
PPTX
その Pod 突然落ちても大丈夫ですか!?(OCHaCafe5 #5 実験!カオスエンジニアリング 発表資料)
PPTX
サポート エンジニアが Azure Networking をじっくりたっぷり語りつくす会
PDF
全自動Zabbix
PDF
OpenStack超入門シリーズ いまさら聞けないNeutronの使い方
PDF
Dapr × Kubernetes ではじめるポータブルなマイクロサービス(CloudNative Days Tokyo 2020講演資料)
PPTX
MongoDBが遅いときの切り分け方法
PDF
Apache Kafkaって本当に大丈夫?~故障検証のオーバービューと興味深い挙動の紹介~
PDF
ゼロからはじめるKVM超入門
PDF
RDF Semantic Graph「RDF 超入門」
PDF
OpenStack超入門シリーズ Novaのディスク周りあれこれ
PPTX
Zabbix による ms sql監視 ~データベースモニタリング~ odbc
PPTX
Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)
PDF
ストリーム処理を支えるキューイングシステムの選び方
これからLDAPを始めるなら 「389-ds」を使ってみよう
単なるキャッシュじゃないよ!?infinispanの紹介
急速に進化を続けるCNIプラグイン Antrea
「おうちクラウド」が今熱い!
PostgreSQLバックアップの基本
Hybrid Azure AD Join 動作の仕組みを徹底解説
Consulを頑張って理解する
その Pod 突然落ちても大丈夫ですか!?(OCHaCafe5 #5 実験!カオスエンジニアリング 発表資料)
サポート エンジニアが Azure Networking をじっくりたっぷり語りつくす会
全自動Zabbix
OpenStack超入門シリーズ いまさら聞けないNeutronの使い方
Dapr × Kubernetes ではじめるポータブルなマイクロサービス(CloudNative Days Tokyo 2020講演資料)
MongoDBが遅いときの切り分け方法
Apache Kafkaって本当に大丈夫?~故障検証のオーバービューと興味深い挙動の紹介~
ゼロからはじめるKVM超入門
RDF Semantic Graph「RDF 超入門」
OpenStack超入門シリーズ Novaのディスク周りあれこれ
Zabbix による ms sql監視 ~データベースモニタリング~ odbc
Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)
ストリーム処理を支えるキューイングシステムの選び方

Similar to RHEL7/CentOS7 NetworkManager徹底入門

PPTX
コンテナネットワーキング(CNI)最前線
PDF
君にもできる! にゅーとろん君になってみよー!! 「Neutronになって理解するOpenStack Net - OpenStack最新情報セミナー ...
PPTX
OpenStack マルチノード環境構築
PDF
Linux packet-forwarding
PPTX
PFIセミナーH271022 ~コマンドを叩いて遊ぶ コンテナ仮想、その裏側~
PDF
Wireguard 実践入門
PDF
OpenStackクラウド基盤構築ハンズオンセミナー 第1日:講義No1
PDF
私たちはRESTCONFでネットワーク自動化的に何が嬉しくなるのか考えてみた
PDF
OpenStackクラウド基盤構築ハンズオンセミナー 第2日:講義No2
PDF
/etc/network/interfaces について
PPTX
Container Networking Deep Dive
PDF
VlanManagerを使ってみた
PDF
OpenStack構築手順書 Juno版
PDF
RDOを使ったOpenStack Havana - Neutron 構築編 :補足資料
PDF
Xen Nic
PDF
Ansible npstudy-shtsuchi
PDF
近頃のDockerネットワーク
PDF
自動でできるかな?
PDF
20121217 jawsug-yokohama
PDF
CIBC 事前インストール
コンテナネットワーキング(CNI)最前線
君にもできる! にゅーとろん君になってみよー!! 「Neutronになって理解するOpenStack Net - OpenStack最新情報セミナー ...
OpenStack マルチノード環境構築
Linux packet-forwarding
PFIセミナーH271022 ~コマンドを叩いて遊ぶ コンテナ仮想、その裏側~
Wireguard 実践入門
OpenStackクラウド基盤構築ハンズオンセミナー 第1日:講義No1
私たちはRESTCONFでネットワーク自動化的に何が嬉しくなるのか考えてみた
OpenStackクラウド基盤構築ハンズオンセミナー 第2日:講義No2
/etc/network/interfaces について
Container Networking Deep Dive
VlanManagerを使ってみた
OpenStack構築手順書 Juno版
RDOを使ったOpenStack Havana - Neutron 構築編 :補足資料
Xen Nic
Ansible npstudy-shtsuchi
近頃のDockerネットワーク
自動でできるかな?
20121217 jawsug-yokohama
CIBC 事前インストール

More from Etsuji Nakai

PDF
Spannerに関する技術メモ
PDF
Googleのインフラ技術から考える理想のDevOps
PDF
TensorFlowプログラミングと分類アルゴリズムの基礎
PDF
Googleのインフラ技術に見る基盤標準化とDevOpsの真実
PDF
TensorFlowで学ぶDQN
PDF
TensorFlowによるニューラルネットワーク入門
PDF
Machine Learning Basics for Web Application Developers
PDF
Deep Q-Network for beginners
PDF
Using Kubernetes on Google Container Engine
PDF
DevOpsにおける組織に固有の事情を どのように整理するべきか
PDF
インタークラウドを実現する技術 〜 デファクトスタンダードからの視点 〜
PDF
「ITエンジニアリングの本質」を考える
PDF
Life with jupyter
PDF
Introducton to Convolutional Nerural Network with TensorFlow
PDF
Googleにおける機械学習の活用とクラウドサービス
PDF
Your first TensorFlow programming with Jupyter
PDF
A Brief History of My English Learning
PDF
PRML11.2-11.3
PDF
Lecture note on PRML 8.2
PDF
PRML7.2
Spannerに関する技術メモ
Googleのインフラ技術から考える理想のDevOps
TensorFlowプログラミングと分類アルゴリズムの基礎
Googleのインフラ技術に見る基盤標準化とDevOpsの真実
TensorFlowで学ぶDQN
TensorFlowによるニューラルネットワーク入門
Machine Learning Basics for Web Application Developers
Deep Q-Network for beginners
Using Kubernetes on Google Container Engine
DevOpsにおける組織に固有の事情を どのように整理するべきか
インタークラウドを実現する技術 〜 デファクトスタンダードからの視点 〜
「ITエンジニアリングの本質」を考える
Life with jupyter
Introducton to Convolutional Nerural Network with TensorFlow
Googleにおける機械学習の活用とクラウドサービス
Your first TensorFlow programming with Jupyter
A Brief History of My English Learning
PRML11.2-11.3
Lecture note on PRML 8.2
PRML7.2

RHEL7/CentOS7 NetworkManager徹底入門

  • 1.
  • 2.
    2RHEL7/CentOS7 NetworkManager徹底入門自己紹介 中井悦司(なかいえつじ)–Twitter @enakai00 日々の仕事– Senior Solution Architect andCloud Evangelist at Red Hat K.K.企業システムでオープンソースの活用を希望されるお客様を全力でご支援させていただきます。 昔とった杵柄– 素粒子論の研究(超弦理論とか)– 予備校講師(物理担当)– インフラエンジニア(Unix/Linux専門)好評発売中!
  • 3.
    3RHEL7/CentOS7 NetworkManager徹底入門Contents NetworkManagerの概要nmcliによる設定 仮想ブリッジ/VLANデバイスの作成 Teamデバイスの作成 参考資料
  • 4.
  • 5.
    5RHEL7/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-608f53eb6048TYPE=WirelessBOOTPROTO=dhcpESSID="mynet"...eth0接続(Connection)適用デバイス(Device)
  • 6.
    6RHEL7/CentOS7 NetworkManager徹底入門NICのネーミングルールについて RHEL7では、NICのネーミングルールに「PredictableNetwork InterfaceNames」が採用されています。– 典型的には、「ens6」「enp0s25」「wlp2s0」などのデバイス名になります(*)。 デバイスの物理ロケーションに応じて、固定的なデバイス名を割り当てます。– 後半の「s6」の部分は、BIOSから取得した論理番号で、PCIスロット番号などに基いて、BIOSが独自に提供します。BIOSが論理番号を提供しない場合は、カーネルが認識したPCIバス番号とスロット番号に基いて、「p<Bus>s<Slot>」のルールになります。– ロケーション情報を取得できないデバイスは、古典的な「ethX」になります。LinuxKVMのvirtio NICなどが該当します。ens6en:イーサネットwl:ワイヤレスo:オンボードs:PCI Expressデバイス番号(PCIスロット番号などに対応)(*) DELL製のサーバーでは、また異なるネーミングルール(biosdevname)になります。 (参考)「RHEL7のNICのネーミングルール」http://d.hatena.ne.jp/enakai00/20140728/1406504163
  • 7.
    7RHEL7/CentOS7 NetworkManager徹底入門net-toolsとiproute2について RHEL7を最小構成でインストールした環境では、「ifconfig,route, netstat,arp」などのネットワーク関連コマンドが入っていません。– これらのコマンドは、「net-tools」パッケージを追加することで利用可能になります。 「net-tools」パッケージを導入しない環境では、「iproute2」パッケージに含まれる「ip, ss」などのコマンドを使用してください。– 今後は、iproute2パッケージの方が標準になる予定です。# yum -y install net-toolsnet-tools iproute2ifconfig ip addr, ip linkroute ip routenetstat ssnetstat -i ip -s linkarp ip neighbor主なコマンドの対応表(参考)「RHEL7/CentOS7でipコマンドをマスター」http://d.hatena.ne.jp/enakai00/20140712/1405139841
  • 8.
    8RHEL7/CentOS7 NetworkManager徹底入門デフォルトでの環境構成例 RHEL7インストーラーのGUIでネットワークを設定すると次のような構成になります。–デバイスと同じ名前の「接続」が定義されて、該当デバイスに紐付けられます。「接続」の名前は、一般には、デバイス名と無関係なので注意してください。# nmcli dデバイス タイプ 状態 接続eth2 ethernet 接続済み eth2ens6 ethernet 切断済み --ens7 ethernet 切断済み --lo loopback 管理無し --# nmcli c名前 UUID タイプ デバイスeth2 bc302e8f-f5f3-478d-bf87-e77d3288dac7 802-3-ethernet eth2「デバイス」の確認(「d」は「device」の略)「接続」の確認(「c」は「connection」の略)「デバイス」が紐付けられた「接続」eth2ens6ens7virtio NICrtl8139Linux KVMの仮想マシンに「Realtek」と「virtio」の仮想NICをアサインした場合の例
  • 9.
    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 = ::「デバイス名」「接続名」
  • 11.
    11RHEL7/CentOS7 NetworkManager徹底入門(参考)nmtuiコマンド nmtuiコマンドを使用すると、テキストベースのUIで対話的に設定変更が可能です。–テスト環境などで、簡易的に設定変更を行う際は便利ですが、設定手順をコマンドとして記録/再現することができませんので、本番環境では使用しない方がよいでしょう。
  • 12.
  • 13.
    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
  • 15.
    15RHEL7/CentOS7 NetworkManager徹底入門接続の削除 既存の接続を削除する際は、「nmclic 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 eth2ens6-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.
    16RHEL7/CentOS7 NetworkManager徹底入門ホストネームの設定について nmcliコマンドでホストネームを設定することもできます。–次はホストネームを「rhel7」に変更する例です。 RHEL7では、ホストネームの管理はsystemdが行っており、本来は、hostnamectlコマンドで設定します。– ncmliは、hostnamectlコマンドに相当するAPIでsystemdを呼び出して、ホストネームを変更しています。– 次はhostnamectlコマンドでホストネームを変更する例です。# hostnamectl set-hostname rhel7# hostnamectlStatic hostname: rhel7Icon name: computerChassis: n/aMachine ID: d16c14e0d938a994f66447949c8f070eBoot ID: 84e3caad343e436eb0ad6663e64f92abVirtualization: kvmOperating System: Employee SKUCPE OS Name: cpe:/o:redhat:enterprise_linux:7.0:GA:serverKernel: Linux 3.10.0-123.13.2.el7.x86_64Architecture: x86_64# nmcli g hostname rhel7# nmcli g hostnamerhel7
  • 17.
  • 18.
    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
  • 22.
  • 23.
    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
  • 25.
    25RHEL7/CentOS7 NetworkManager徹底入門Teamデバイスの作成 (2)Teamデバイスの稼動状態を確認します。– 接続の状態は次のようになります。– Teamデバイスの稼動状態は、「teamdctl」コマンドで確認します。# teamdctl team0 statesetup:runner: roundrobinports:ens7link watches:link summary: upinstance[link_watch_0]:name: ethtoollink: upens6link watches:link summary: upinstance[link_watch_0]:name: ethtoollink: up# nmcli c名前 UUID タイプ デバイスteam-slave-ens7 0114a0a7-e3f0-43aa-9ba8-b716ca9d55f9 802-3-ethernet ens7eth2 bc302e8f-f5f3-478d-bf87-e77d3288dac7 802-3-ethernet eth2team-slave-ens6 00d62380-6f5a-4d53-887d-3509d65ec400 802-3-ethernet ens6Team-team0 869751cf-d123-4fa1-88a6-ce7d86474e5a team team0
  • 26.
    26RHEL7/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.confactivebackup_arp_ping_2.conf activebackup_nsna_ping_1.conf loadbalance_3.confactivebackup_ethtool_1.conf broadcast.conf random.confactivebackup_ethtool_2.conf lacp_1.conf roundrobin.confactivebackup_ethtool_3.conf loadbalance_1.conf roundrobin_2.conf
  • 27.
    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
  • 28.
  • 29.
    29RHEL7/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.

[8]ページ先頭

©2009-2025 Movatter.jp