8.2. 使用带有设备路径的网络 RHEL 系统角色使用静态 IP 地址配置以太网连接
您可以使用 network RHEL 系统角色远程配置以太网连接。
您可以使用以下命令识别设备路径:
# udevadm info /sys/class/net/<device_name> | grep ID_PATH=
例如,以下流程会使用以下设置为与 PCI ID 0000:00:0[1-3].0 表达式,而不是 0000:00:02.0 匹配的设备创建 NetworkManager 连接配置文件:
-
静态 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
在 Ansible 控制节点上执行此步骤。
先决条件
- 您已准备好控制节点和受管节点
- 以可在受管主机上运行 playbook 的用户登录到控制节点。
-
用于连接到受管节点的帐户具有
sudo权限。 - 要在其上运行此 playbook 的受管节点或受管节点组列在 Ansible 清单文件中。
- 服务器配置中有一个物理或者虚拟以太网设备。
- 受管节点使用 NetworkManager 配置网络。
流程
创建包含以下内容的 playbook 文件,如
~/ethernet-static-IP.yml:--- - name: Configure the network hosts: managed-node-01.example.com tasks: - name: Configure an Ethernet connection with static IP include_role: name: rhel-system-roles.network vars: network_connections: - name: example match: path: - pci-0000:00:0[1-3].0 - &!pci-0000:00:02.0 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 state: up本例中的
match参数定义了 Ansible 将剧本应用到与 PCI ID0000:00:0[1-3].0匹配的设备,但没有0000:00:02.0设备。有关可以使用的特殊修饰符和通配符的详情,请查看/usr/share/ansible/roles/rhel-system-roles.network/README.md文件中的match参数描述。运行 playbook:
# ansible-playbook ~/ethernet-static-IP.yml