Firewalld를 사용하면 다음과 같은 규칙을 만들 수 있습니다. ( note the invert="True"
)
firewall-cmd --zone=public --add-rich-rule='rule family="ipv4" source address="192.168.100.0/24" invert="True" drop'
특정 소스에 대해 영역의 일부로 처리해야 한다고 지정할 수 있습니다.
firewall-cmd --permanent --zone=external --add-source=ipset:knowns
이를 되돌리고 ipset에 없는 모든 IP가 다른 지정된 영역의 일부로 간주되도록 할 수 있습니까? 매뉴얼 페이지를 보았지만 이것이 가능한지 여부를 알 수 없습니다.
답변1
모든 "잘못된" IP 주소/범위를 포함하는 ipset(firewall-cmd 사용)를 생성하여 이 동작을 모방할 수 있습니다. 그런 다음 이 IPset만 소스로 사용하여 방화벽 영역을 추가합니다.
# firewall-cmd --permanent --zone=axisofevil --add-source=ipset:roguenations
ipset "roguenations"에서 발생하는 모든 트래픽은 "axisofevil" 영역의 모든 서비스에 액세스할 수 있습니다. 서비스를 전혀 허용하지 않으면 해당 클라이언트는 어떤 서비스도 받을 수 없습니다.
모든 "잘못된" IPv6 주소/범위를 포함하는 다른 inet6 유형 영역을 추가하는 것을 잊지 마십시오.
# firewall-cmd --permanent --new-ipset=roguenations6 --type=hash:net --family=inet6
팁: 예를 들어 전체 지리적 IP 데이터베이스를 사용할 수 있습니다.https://www.ip2location.com/free/visitor-blockerCIDR 형식으로 ipset에 추가(firewall-cmd --new-ipset-from-file 사용)또는--파일에서 항목을 추가합니다..:)
기본적으로 켜져 있는 "AllowZoneDrifting"을 비활성화하는 것이 좋습니다.
화타이