19.11. network RHEL システムロールを使用した静的ルートの設定
network RHEL システムロールを使用して、静的ルートを設定できます。
network RHEL システムロールを使用するプレイの実行時に、プレイで指定した値と設定値が一致しない場合、当該ロールは同じ名前の既存の接続プロファイルをオーバーライドします。これらの値がデフォルトにリセットされないようにするには、IP 設定などの設定がすでに存在する場合でも、ネットワーク接続プロファイルの設定全体をプレイで必ず指定してください。
前提条件
- コントロールノードと管理対象ノードの準備が完了している。
- 管理対象ノードで Playbook を実行できるユーザーとしてコントロールノードにログインしている。
-
管理対象ノードへの接続に使用するアカウントに、そのノードに対する
sudo権限がある。
手順
次の内容を含む Playbook ファイル (例:
~/playbook.yml) を作成します。--- - name: Configure the network hosts: managed-node-01.example.com tasks: - name: Configure an Ethernet connection with static IP and additional routes ansible.builtin.include_role: name: redhat.rhel_system_roles.network vars: network_connections: - name: enp7s0 type: ethernet autoconnect: yes ip: address: - 192.0.2.1/24 - 2001:db8:1::1/64 gateway4: 192.0.2.254 gateway6: 2001:db8:1::fffe dns: - 192.0.2.200 - 2001:db8:1::ffbb dns_search: - example.com route: route: - network: 198.51.100.0 prefix: 24 gateway: 192.0.2.10 - network: '2001:db8:2::' prefix: 64 gateway: 2001:db8:1::10 state: upこの手順では、すでに存在するかどうかに応じて、以下の設定で
enp7s0接続プロファイルを作成または更新します。-
静的 IPv4 アドレス: サブネットマスクが
/24の192.0.2.1 -
静的 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 静的ルート:
-
198.51.100.0/24のゲートウェイ192.0.2.10 -
2001:db8:2::/64とゲートウェイ2001:db8:1::10
-
-
静的 IPv4 アドレス: サブネットマスクが
Playbook の構文を検証します。
$ ansible-playbook --syntax-check ~/playbook.ymlこのコマンドは構文を検証するだけであり、有効だが不適切な設定から保護するものではないことに注意してください。
Playbook を実行します。
$ ansible-playbook ~/playbook.yml
検証
管理対象ノードで以下を行います。
IPv4 ルートを表示します。
# ip -4 route ... 198.51.100.0/24 via 192.0.2.10 dev enp7s0IPv6 ルートを表示します。
# ip -6 route ... 2001:db8:2::/64 via 2001:db8:1::10 dev enp7s0 metric 1024 pref medium