9.5. RHEL 시스템 역할을 사용하여 firewalld DMZ 영역 구성
시스템 관리자는 방화벽
시스템 역할을 사용하여 enp1s0 인터페이스에서 dmz
영역을 구성하여 해당 영역에 HTTPS
트래픽을 허용할 수 있습니다. 이렇게 하면 외부 사용자가 웹 서버에 액세스할 수 있습니다.
Ansible 제어 노드에서 다음 프로세스를 수행합니다.
사전 요구 사항
- 제어 노드와 관리형 노드가 준비되었습니다.
- 관리 노드에서 플레이북을 실행할 수 있는 사용자로 제어 노드에 로그인되어 있습니다.
-
관리형 노드에 연결하는 데 사용하는 계정에는 해당 노드에 대한
sudo
권한이 있습니다. - 이 플레이북을 실행하려는 관리형 노드 또는 관리형 노드 그룹은 Ansible 인벤토리 파일에 나열됩니다.
절차
다음과 같은 내용으로 플레이북 파일(예:
~/configuring-a-dmz.yml
)을 생성합니다.--- - name: Configure firewalld hosts: managed-node-01.example.com tasks: - name: Creating a DMZ with access to HTTPS port and masquerading for hosts in DMZ include_role: name: rhel-system-roles.firewall vars: firewall: - zone: dmz interface: enp1s0 service: https state: enabled runtime: true permanent: true
플레이북 구문을 확인합니다.
# ansible-playbook ~/configuring-a-dmz.yml --syntax-check
이 명령은 구문만 검증하고 잘못되었지만 유효한 구성으로부터 보호하지 않습니다.
플레이북을 실행합니다.
# ansible-playbook ~/configuring-a-dmz.yml
검증
관리 노드에서
dmz
영역에 대한 자세한 정보를 봅니다.# firewall-cmd --zone=dmz --list-all dmz (active) target: default icmp-block-inversion: no interfaces: enp1s0 sources: services: https ssh ports: protocols: forward: no masquerade: no forward-ports: source-ports: icmp-blocks:
추가 리소스
-
/usr/share/ansible/roles/rhel-system-roles.firewall/README.md