7.13. ネットワーク RHEL システムロールを使用した静的ルートの設定

network RHEL System Role を使用して、静的ルートを設定できます。

重要

network の RHEL システムロールを使用する再生を実行すると、設定値が再生で指定されたものと一致しない場合に、システムロールが同じ名前の既存の接続プロファイルを上書きします。したがって、IP 設定がすでに存在している場合でも、プレイでネットワーク接続プロファイルの設定全体を指定する必要があります。それ以外の場合は、ロールはこれらの値をデフォルト値にリセットします。

この手順では、すでに存在するかどうかに応じて、以下の設定で enp7s0 接続プロファイルを作成または更新します。

  • 静的 IPv4 アドレス: サブネットマスクが /24192.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

Ansible コントロールノードで以下の手順を実行します。

前提条件

  • 制御ノードと管理対象ノードを準備している
  • 管理対象ノードで Playbook を実行できるユーザーとして制御ノードにログインします。
  • 管理対象ノードへの接続に使用するアカウントには、そのノードに対する sudo 権限があります。
  • この Playbook を実行する管理対象のノードまたは管理対象のノードのグループは、Ansible インベントリーファイルにリストされています。

手順

  1. ~/add-static-routes.yml などの Playbook ファイルを次の内容で作成します。

    ---
    - name: Configure the network
      hosts: managed-node-01.example.com
      tasks:
      - name: Configure an Ethernet connection with static IP and additional routes
        include_role:
          name: 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:
                  - 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
  2. Playbook を実行します。

    # ansible-playbook ~/add-static-routes.yml

検証

  1. 管理対象ノードで以下を行います。

    1. IPv4 ルートを表示します。

      # ip -4 route
      ...
      198.51.100.0/24 via 192.0.2.10 dev enp7s0
    2. IPv6 ルートを表示します。

      # ip -6 route
      ...
      2001:db8:2::/64 via 2001:db8:1::10 dev enp7s0 metric 1024 pref medium

関連情報

  • /usr/share/ansible/roles/rhel-system-roles.network/README.md ファイル