27.9. 네트워크 RHEL 시스템 역할을 사용하여 정적 경로 구성
정적 경로를 사용하면 기본 게이트웨이를 통해 연결할 수 없는 대상으로 트래픽을 보낼 수 있습니다. 다음 홉과 동일한 네트워크에 연결된 인터페이스의 NetworkManager 연결 프로필에 정적 경로를 구성합니다. Ansible 및 네트워크 RHEL 시스템 역할을 사용하면 이 프로세스를 자동화하고 플레이북에 정의된 호스트에서 연결 프로필을 원격으로 구성할 수 있습니다.
네트워크 RHEL 시스템 역할을 사용하여 기존 연결 프로필의 특정 값만 업데이트할 수 없습니다. 이 역할은 연결 프로필이 플레이북의 설정과 정확히 일치하는지 확인합니다. 동일한 이름의 연결 프로필이 이미 존재하는 경우 역할은 플레이북의 설정을 적용하고 프로필의 다른 모든 설정을 기본값으로 재설정합니다. 값을 재설정하지 않으려면 변경하려는 설정을 포함하여 플레이북에서 네트워크 연결 프로필의 전체 구성을 항상 지정합니다.
사전 요구 사항
- 컨트롤 노드와 관리형 노드를 준비했습니다.
- 관리 노드에서 플레이북을 실행할 수 있는 사용자로 제어 노드에 로그인되어 있습니다.
-
관리 노드에 연결하는 데 사용하는 계정에는
sudo권한이 있습니다.
프로세스
다음 콘텐츠를 사용하여 플레이북 파일(예:
~/playbook.yml)을 생성합니다.--- - name: Configure the network hosts: managed-node-01.example.com tasks: - name: Ethernet connection profile with static IP address settings 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: - 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플레이북에 사용되는 모든 변수에 대한 자세한 내용은 제어 노드의
/usr/share/ansible/roles/rhel-system-roles.network/README.md파일을 참조하십시오.플레이북 구문을 확인합니다.
$ ansible-playbook --syntax-check ~/playbook.yml이 명령은 구문만 검증하고 잘못되었지만 유효한 구성으로부터 보호하지 않습니다.
Playbook을 실행합니다.
$ ansible-playbook ~/playbook.yml
검증
IPv4 경로를 표시합니다.
# ansible managed-node-01.example.com -m command -a 'ip -4 route' managed-node-01.example.com | CHANGED | rc=0 >> ... 198.51.100.0/24 via 192.0.2.10 dev enp7s0IPv6 경로를 표시합니다.
# ansible managed-node-01.example.com -m command -a 'ip -6 route' managed-node-01.example.com | CHANGED | rc=0 >> ... 2001:db8:2::/64 via 2001:db8:1::10 dev enp7s0 metric 1024 pref medium