8.10. 네트워크 RHEL 시스템 역할을 사용하여 802.1X 네트워크 인증을 사용하여 정적 이더넷 연결 구성
RHEL 시스템 역할을 사용하여 802.1X 네트워크 인증을 사용하여 이더넷 연결을 원격으로 구성할 수 있습니다.
Ansible 제어 노드에서 다음 프로세스를 수행합니다.
사전 요구 사항
- 제어 노드와 관리형 노드가 준비되었습니다.
- 관리 노드에서 플레이북을 실행할 수 있는 사용자로 제어 노드에 로그인되어 있습니다.
-
관리형 노드에 연결하는 데 사용하는 계정에는
sudo
권한이 있습니다. - 네트워크는 802.1X 네트워크 인증을 지원합니다.
- 관리 노드는 NetworkManager를 사용합니다.
TLS 인증에 필요한 파일은 제어 노드에 있습니다.
-
클라이언트 키는
/srv/data/client.key
파일에 저장됩니다. -
클라이언트 인증서는
/srv/data/client.crt
파일에 저장됩니다. -
CA(인증 기관) 인증서는
/srv/data/ca.crt
파일에 저장됩니다.
-
클라이언트 키는
절차
다음 콘텐츠를 사용하여 플레이북 파일(예:
~/playbook.yml
)을 생성합니다.--- - name: Configure an Ethernet connection with 802.1X authentication hosts: managed-node-01.example.com tasks: - name: Copy client key for 802.1X authentication ansible.builtin.copy: src: "/srv/data/client.key" dest: "/etc/pki/tls/private/client.key" mode: 0600 - name: Copy client certificate for 802.1X authentication ansible.builtin.copy: src: "/srv/data/client.crt" dest: "/etc/pki/tls/certs/client.crt" - name: Copy CA certificate for 802.1X authentication ansible.builtin.copy: src: "/srv/data/ca.crt" dest: "/etc/pki/ca-trust/source/anchors/ca.crt" - name: Configure connection ansible.builtin.include_role: name: rhel-system-roles.network vars: network_connections: - name: enp1s0 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 ieee802_1x: identity: user_name eap: tls private_key: "/etc/pki/tls/private/client.key" private_key_password: "password" client_cert: "/etc/pki/tls/certs/client.crt" ca_cert: "/etc/pki/ca-trust/source/anchors/ca.crt" domain_suffix_match: example.com state: up
이러한 설정은 다음 설정을 사용하여
enp1s0
장치에 대한 이더넷 연결 프로필을 정의합니다.-
정적 IPv4 주소 -
/24
서브넷 마스크가 있는192.0.2.1
-
/64
서브넷 마스크가 포함된 정적 IPv6 주소 -2001:db8:1::1
-
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
-
TLS
EAP(Extensible Authentication Protocol)를 사용한 802.1x 네트워크 인증
-
정적 IPv4 주소 -
플레이북 구문을 확인합니다.
$ ansible-playbook --syntax-check ~/playbook.yml
이 명령은 구문만 검증하고 잘못되었지만 유효한 구성으로부터 보호하지 않습니다.
플레이북을 실행합니다.
$ ansible-playbook ~/playbook.yml
추가 리소스
-
/usr/share/ansible/roles/rhel-system-roles.network/README.md
file -
/usr/share/doc/rhel-system-roles/network/
디렉터리