2.8. nmstatectl でインターフェイス名を指定して動的 IP アドレスによる Ethernet 接続を設定する
宣言型の Nmstate API を使用すると、静的 IP アドレス、ゲートウェイ、および DNS 設定を使用してイーサネット接続を設定し、PCI アドレスに基づいてデバイスに設定を割り当てることができます。Nmstate を使用すると、結果が必ず設定ファイルと一致したものになります。一致しない場合は、変更がロールバックされます。
前提条件
- サーバーの構成に物理または仮想イーサネットネットワークインターフェイスコントローラー (NIC) が存在する。
- DHCP サーバーをネットワークで使用できる。
-
nmstateパッケージがインストールされている。
手順
以下の内容を含む YAML ファイル (例:
~/create-ethernet-profile.yml) を作成します。--- interfaces: - name: enp1s0 type: ethernet state: up ipv4: enabled: true auto-dns: true auto-gateway: true auto-routes: true dhcp: true ipv6: enabled: true auto-dns: true auto-gateway: true auto-routes: true autoconf: true dhcp: trueこれらの設定では、
enp1s0デバイスのイーサネット接続プロファイルを定義します。接続では、DHCP サーバーと IPv6 ステートレスアドレス自動設定 (SLAAC) から、IPv4 アドレス、IPv6 アドレス、デフォルトゲートウェイ、ルート、DNS サーバー、および検索ドメインを取得します。オプション:
interfacesプロパティーでidentifier: mac-addressおよびmac-address: <mac_address>プロパティーを定義すると、ネットワークインターフェイスカードを名前ではなく MAC アドレスで識別できます。次に例を示します。--- interfaces: - name: <profile_name> type: ethernet identifier: mac-address mac-address: <mac_address> ...設定をシステムに適用します。
# nmstatectl apply ~/create-ethernet-profile.yml
検証
現在の状態を YAML 形式で表示します。
# nmstatectl show enp1s0NIC の IP 設定を表示します。
# ip address show enp1s0 2: enp1s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000 link/ether 52:54:00:17:b8:b6 brd ff:ff:ff:ff:ff:ff inet 192.0.2.1/24 brd 192.0.2.255 scope global noprefixroute enp1s0 valid_lft forever preferred_lft forever inet6 2001:db8:1::fffe/64 scope global noprefixroute valid_lft forever preferred_lft foreverIPv4 デフォルトゲートウェイを表示します。
# ip route show default default via 192.0.2.254 dev enp1s0 proto static metric 102IPv6 デフォルトゲートウェイを表示します。
# ip -6 route show default default via 2001:db8:1::fffe dev enp1s0 proto static metric 102 pref mediumDNS 設定を表示します。
# cat /etc/resolv.conf search example.com nameserver 192.0.2.200 nameserver 2001:db8:1::ffbb複数の接続プロファイルが同時にアクティブな場合、
nameserverエントリーの順序は、これらのプロファイルの DNS 優先度の値と接続タイプによって異なります。pingユーティリティーを使用して、このホストがパケットを他のホストに送信できることを確認します。# ping <host-name-or-IP-address>