7.13. 使用 network RHEL 系统角色配置静态路由
您可以使用 network
RHEL 系统角色配置静态路由。
重要
当您运行使用 network
RHEL 系统角色的剧本时,如果设置的值与剧本中指定的名称不匹配,则系统角色会覆盖具有相同名称的现有的连接配置文件。因此,始终在剧本中指定网络连接配置文件的整个配置,即使 IP 配置已经存在。否则,角色会将这些值重置为默认值。
根据它是否已存在,流程使用以下设置创建或更新 enp7s0
连接配置文件:
-
静态 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
静态路由:
-
198.51.100.0/24
,网关为192.0.2.10
-
2001:db8:2::/64
,网关为2001:db8:1::10
-
在 Ansible 控制节点上执行此步骤。
先决条件
- 您已准备好控制节点和受管节点。
- 以可在受管主机上运行 playbook 的用户登录到控制节点。
-
用于连接到受管节点的帐户对其具有
sudo
权限。 - 在要运行此 playbook 的受管节点或受管节点组列在 Ansible 清单文件中。
流程
创建包含以下内容的 playbook 文件,如
~/add-static-routes.yml
:--- - 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
运行 playbook:
# ansible-playbook ~/add-static-routes.yml
验证
在受管节点上:
显示 IPv4 路由:
# ip -4 route ... 198.51.100.0/24 via 192.0.2.10 dev enp7s0
显示 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
文件