2.9. nmstatectl で PCI アドレスを指定して動的 IP アドレスによるイーサネット接続を設定する
宣言型の Nmstate API を使用すると、DHCP および IPv6 ステートレスアドレス自動設定 (SLAAC) を使用してイーサネット接続を設定し、PCI アドレスに基づいてデバイスに設定を割り当てることができます。Nmstate を使用すると、結果が必ず設定ファイルと一致したものになります。一致しない場合は、変更がロールバックされます。
前提条件
- サーバーの構成に物理イーサネットデバイスが存在する。
- ネットワーク内で DHCP サーバーと SLAAC が利用できる。
- 管理対象ホストは、NetworkManager を使用してネットワークを設定します。
-
デバイスの PCI アドレスがわかっている。PCI アドレスは、
ethtool -i <interface_name> | grep bus-infoコマンドを使用して確認できます。 -
nmstateパッケージがインストールされている。
手順
以下の内容を含む YAML ファイル (例:
~/create-ethernet-profile.yml) を作成します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 上記の設定により、ID
0000:00:14.3のデバイスのイーサネット接続プロファイルが定義されます。接続では、DHCP サーバーと IPv6 ステートレスアドレス自動設定 (SLAAC) から、IPv4 アドレス、IPv6 アドレス、デフォルトゲートウェイ、ルート、DNS サーバー、および検索ドメインを取得します。設定をシステムに適用します。
nmstatectl apply ~/create-ethernet-profile.yml
# nmstatectl apply ~/create-ethernet-profile.ymlCopy to Clipboard Copied! Toggle word wrap Toggle overflow
検証
現在の状態を YAML 形式で表示します。
nmstatectl show <interface_name>
# nmstatectl show <interface_name>Copy to Clipboard Copied! Toggle word wrap Toggle overflow NIC の IP 設定を表示します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow IPv4 デフォルトゲートウェイを表示します。
ip route show default
# ip route show default default via 192.0.2.254 dev <interface_name> proto static metric 102Copy to Clipboard Copied! Toggle word wrap Toggle overflow IPv6 デフォルトゲートウェイを表示します。
ip -6 route show default
# ip -6 route show default default via 2001:db8:1::fffe dev <interface_name> proto static metric 102 pref mediumCopy to Clipboard Copied! Toggle word wrap Toggle overflow DNS 設定を表示します。
cat /etc/resolv.conf search example.com nameserver 192.0.2.200 nameserver 2001:db8:1::ffbb
# cat /etc/resolv.conf search example.com nameserver 192.0.2.200 nameserver 2001:db8:1::ffbbCopy to Clipboard Copied! Toggle word wrap Toggle overflow pingユーティリティーを使用して、このホストがパケットを他のホストに送信できることを確認します。ping <host-name-or-IP-address>
# ping <host-name-or-IP-address>Copy to Clipboard Copied! Toggle word wrap Toggle overflow