Red Hat Training

A Red Hat training course is available for RHEL 8

19.6. 使用 RHEL 系统角色在现有连接上设置默认网关

您可以使用 network RHEL 系统角色来设置默认网关。

重要

当您运行使用 network RHEL 系统角色的剧本时,如果设置的值与剧本中指定的名称不匹配,则系统角色会覆盖具有相同名称的现有的连接配置文件。因此,始终在剧本中指定网络连接配置文件的整个配置,即使 IP 配置已经存在。否则,角色会将这些值重置为默认值。

根据它是否已存在,流程使用以下设置创建或更新 enp1s0 连接配置文件:

  • 静态 IPv4 地址 - 198.51.100.20,子网掩码为/24
  • 静态 IPv6 地址 - 2001:db8:1::1/64 子网掩码
  • IPv4 默认网关 - 198.51.100.254
  • IPv6 默认网关 - 2001:db8:1::fffe
  • IPv4 DNS 服务器 - 198.51.100.200
  • IPv6 DNS 服务器 - 2001:db8:1::ffbb
  • DNS 搜索域 - example.com

在 Ansible 控制节点上执行此步骤。

前提条件

  • 您已准备了控制节点和受管节点
  • 以可在受管主机上运行 playbook 的用户登录到控制节点。
  • 用于连接受管节点的帐户具有 sudo 权限。
  • 运行此 playbook 的主机或主机组列在 Ansible 清单文件中。

步骤

  1. 创建包含以下内容的 playbook 文件,如 ~/ethernet-connection.yml

    ---
    - name: Configure the network
      hosts: managed-node-01.example.com
      tasks:
      - name: Configure an Ethernet connection with static IP and default gateway
        include_role:
          name: rhel-system-roles.network
    
        vars:
          network_connections:
            - name: enp1s0
              type: ethernet
              autoconnect: yes
              ip:
                address:
                  - 198.51.100.20/24
                  - 2001:db8:1::1/64
                gateway4: 198.51.100.254
                gateway6: 2001:db8:1::fffe
                dns:
                  - 198.51.100.200
                  - 2001:db8:1::ffbb
                dns_search:
                  - example.com
              state: up
  2. 运行 playbook:

    # ansible-playbook ~/ethernet-connection.yml

其他资源

  • /usr/share/ansible/roles/rhel-system-roles.network/README.md 文件