8.3. 방화벽 규칙 관리
방화벽 규칙은 배포 중에 Overcloud 노드에 자동으로 적용되며 OpenStack 작동을 얻는 데 필요한 포트만 노출하기 위한 것입니다. 필요에 따라 추가 방화벽 규칙을 지정할 수 있습니다. 예를 들어 Zabbix 모니터링 시스템에 대한 규칙을 추가하려면 다음을 수행합니다.
액세스를 제한하는 규칙을 추가할 수도 있습니다. 규칙 정의 중에 사용되는 숫자는 규칙의 우선 순위를 결정합니다. 예를 들어 RabbitMQ의 규칙 번호는 기본적으로 109 입니다. 이 문제를 완화하려면 더 낮은 값을 사용하도록 전환합니다.
이 예에서 098 및 099 는 RabbitMQ의 규칙 번호 109 보다 낮은 임의로 선택된 숫자입니다. 규칙 번호를 확인하기 위해 적절한 노드에서 iptables 규칙을 검사할 수 있습니다. RabbitMQ의 경우 컨트롤러를 확인합니다.
iptables-save [...] -A INPUT -p tcp -m multiport --dports 4369,5672,25672 -m comment --comment "109 rabbitmq" -m state --state NEW -j ACCEPT
iptables-save
[...]
-A INPUT -p tcp -m multiport --dports 4369,5672,25672 -m comment --comment "109 rabbitmq" -m state --state NEW -j ACCEPT
또는 puppet 정의에서 포트 요구 사항을 추출할 수 있습니다. 예를 들어 RabbitMQ의 규칙은 puppet/services/rabbitmq.yaml에 저장됩니다.
규칙에 대해 다음 매개변수를 설정할 수 있습니다.
-
포트: 규칙에 연결된 포트입니다.puppetlabs-firewall에서 사용하지 않음. -
dport: 규칙에 연결된 대상 포트입니다. -
sport: 규칙과 연결된 소스 포트입니다. -
proto: 규칙과 연결된 프로토콜입니다. 기본값은 tcp입니다. -
작업: 규칙과 연결된 작업 정책입니다. 기본값은 accept입니다 -
jump: 로 이동할 체인입니다. -
state: 규칙과 관련된 상태 배열입니다. 기본값 [NEW] -
source: 규칙과 연결된 소스 IP 주소입니다. -
iniface: 규칙에 연결된 네트워크 인터페이스입니다. -
체인: 규칙과 연결된 체인입니다. 기본적으로 INPUT로 설정됩니다. -
대상: 규칙에 연결된 대상 cidr입니다. -
추가 내용:puppetlabs-firewall모듈에서 지원하는 추가 매개 변수의 해시입니다.