2.4. nmstatectl でインターフェイス名を指定して静的 IP アドレスによるイーサネット接続を設定する
宣言型の Nmstate API を使用すると、静的 IP アドレス、ゲートウェイ、および DNS 設定を使用してイーサネット接続を設定し、それらを指定のインターフェイス名に割り当てることができます。Nmstate を使用すると、結果が必ず設定ファイルと一致したものになります。一致しない場合は、変更がロールバックされます。
前提条件
- サーバーの構成に物理または仮想イーサネットネットワークインターフェイスコントローラー (NIC) が存在する。
-
nmstateパッケージがインストールされている。
手順
以下の内容を含む YAML ファイル (例:
~/create-ethernet-profile.yml) を作成します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow これらの設定では、次の設定を使用して
enp1s0デバイスのイーサネット接続プロファイルを定義します。-
静的 IPv4 アドレス:
192.0.2.1(サブネットマスクが/24) -
静的 IPv6 アドレス:
2001:db8:1::1(サブネットマスクが/64) -
IPv4 デフォルトゲートウェイ -
192.0.2.254 -
IPv6 デフォルトゲートウェイ -
2001:db8:1::fffe -
IPv4 DNS サーバー -
192.0.2.200 -
IPv6 DNS サーバー -
2001:db8:1::ffbb -
DNS 検索ドメイン -
example.com
-
静的 IPv4 アドレス:
オプション:
interfacesプロパティーでidentifier: mac-addressおよびmac-address: <mac_address>プロパティーを定義すると、ネットワークインターフェイスカードを名前ではなく MAC アドレスで識別できます。次に例を示します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 設定をシステムに適用します。
nmstatectl apply ~/create-ethernet-profile.yml
# nmstatectl apply ~/create-ethernet-profile.ymlCopy to Clipboard Copied! Toggle word wrap Toggle overflow
検証
現在の状態を YAML 形式で表示します。
nmstatectl show enp1s0
# nmstatectl show enp1s0Copy 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 enp1s0 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 enp1s0 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 複数の接続プロファイルが同時にアクティブな場合、
nameserverエントリーの順序は、これらのプロファイルの DNS 優先度の値と接続タイプによって異なります。pingユーティリティーを使用して、このホストがパケットを他のホストに送信できることを確認します。ping <host-name-or-IP-address>
# ping <host-name-or-IP-address>Copy to Clipboard Copied! Toggle word wrap Toggle overflow