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

More Related Content

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

What's hot

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

Similar to RHEL7/CentOS7 NetworkManager徹底入門

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

More from Etsuji Nakai

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