답변이 승인되어 투표를 했어도 정답이라고 생각하지 않습니다. 설명서에서 명확한 설명을 찾지 못했지만 구현 된 동작에서 다음과 같습니다.
- 인터페이스와 소스는 선택기로 사용됩니다-활성화 할 영역
- 기본 영역에서는 항상 무시됩니다 (항상 활성)
답은 다음과 같습니다.
- 기본 영역 잠금 (예 : "공개")-포트가 열리지 않거나 사용 가능한 서비스가 없습니다.
- 다른 영역에서 "작업"이라고 말하십시오-소스 및 열린 포트를 정의하십시오.
예를 들어, 기본 영역이 공용이고 열려있는 포트가 없다고 가정하면 "작업"영역에 소스 및 포트 범위를 추가하십시오.
$ sudo firewall-cmd --zone=work --add-source=192.168.0.0/24
$ sudo firewall-cmd --zone=work --add-port=8080-8090/tcp
이제 활성 영역을 확인하십시오 (기본 영역은 항상 활성 상태 임).
$ sudo firewall-cmd --get-active-zones
당신은 얻을 것이다:
work
sources: 192.168.0.0/24
따라서 "작업"영역 규칙이 특정 서브넷에 적용됩니다. 요청 된대로 "화이트리스트"= 서브넷에 대한 다양한 개방 포트가 있습니다. 물론 행동을 고수하기 위해 진술에서 --permanent
옵션 --add-xxx
을 사용하십시오.
"공용"(기본) 영역에있는 포트 나 서비스는 모든 인터페이스와 소스 주소에 적용됩니다.
$ sudo firewall-cmd --list-all-zones
public (default)
interfaces:
sources:
services:
ports:
masquerade: no
forward-ports:
icmp-blocks:
rich rules:
work (active)
interfaces:
sources: 192.168.0.0/24
services: dhcpv6-client ipp-client ssh
ports: 8080-8090/tcp
masquerade: no
forward-ports:
icmp-blocks:
rich rules:
동일한 시스템이 인터페이스에서도 작동합니다. "작업"영역에 "ens3"인터페이스를 추가하여 말합니다.
$ sudo firewall-cmd --zone=work --add-interface=ens3
"작업"영역 규칙을 특정 인터페이스의 모든 요청에 사용합니다 ( "소스"보다 더 거친 선택기).