현재 규칙 세트가 있습니다.
net1 (active)
target: default
icmp-block-inversion: no
interfaces: ens192
sources:
services: http https smtp smtp-submission pop3 pop3s imap imaps ssh
ports:
protocols:
masquerade: no
forward-ports:
source-ports:
icmp-blocks:
rich rules:
ens192에서 이 포트에 연결된 네트워크의 모든 IP에서 액세스를 허용합니다. 그러나 포트 25에 대한 연결을 단일 IP로만 제한하고 싶습니다.
나는 "보통" 관련 줄을 편집하고 규칙을 저장하는 일반 텍스트 파일에 "-s xxxx"를 추가합니다. 모든 포트를 특정 IP로 제한할 수 있는 옵션이 있는 것 같습니다. 단 하나의 IP만은 아닙니다. 내가 무엇을 놓치고 있나요?
답변1
이해할 수 없는 풍부한 규칙을 사용하는 대신 새로운 방화벽 영역을 만들 수 있습니다. 영역은 네트워크 인터페이스 또는 소스 주소로 정의됩니다. 이 경우 소스 주소를 사용하여 정의하면 됩니다.
firewall-cmd --new-zone=smtp
firewall-cmd --zone=smtp --add-source=192.0.2.85
firewall-cmd --zone=smtp --add-service=smtp
firewall-cmd --zone=net1 --remove-service=smtp
firewall-cmd --runtime-to-permanent
따라서 SMTP로 들어오는 연결은 192.0.2.85의 연결로 제한됩니다. 필요한 경우 나중에 IP 주소를 쉽게 추가하거나 제거할 수도 있는데, 이는 풍부한 규칙을 사용하는 것보다 훨씬 쉽습니다.
답변2
그것을 발견. "풍부한 규칙"을 사용해야 합니다.
firewall-cmd --remove-service=smtp
firewall-cmd --add-rich-rule='rule family="ipv4" source address="x.x.x.x" service name="smtp" accept'