iptables: 화이트리스트에 없는 모든 IP 제거, 단락 링크

iptables: 화이트리스트에 없는 모든 IP 제거, 단락 링크

ipset에 저장된 IP 주소 화이트리스트가 있습니다. 화이트리스트에 없는 모든 IP가 즉시 제거되고 체인 아래의 모든 규칙이 고려되지 않는 입력 체인에 대한 iptables 규칙을 만들고 싶습니다. IP가 화이트리스트의 주소와 일치하면 체인을 따라 계속 진행되어 다른 규칙을 확인합니다.

화이트리스트를 기반으로 기본 정책 DROP 및 ALLOW 규칙을 설정하면 화이트리스트에 없는 IP 주소가 체인의 다른 규칙과 비교되어 해당 기준에 따라 허용될 수 있지만 이는 원하지 않습니다. 또한 화이트리스트 규칙과 일치하는 트래픽이 즉시 통과하도록 하고 싶지 않고(여기서는 화이트리스트라는 이름이 잘못된 것 같습니다), 대신 추가 검토를 위해 트래픽을 적용하고 싶습니다. iptables는 "일치하지 않을 때 삭제" 논리를 지원합니까?

답변1

먼저 화이트리스트를 생성하고 이름(식별자)을 선택하세요. mylist이 예에서는 내 이름을 지정 했습니다 .

$ sudo ipset -N mylist iphash

내 화이트리스트에서 허용하고 싶고 10.10.10.0/24목록 10.80.80.0/24에 없는 항목은 모두 제거하고 싶습니다.

$ sudo ipset -A mylist 10.10.10.0/24

$ sudo ipset -A mylist 10.80.80.0/24

화이트리스트에 정의되지 않은 호스트의 트래픽을 삭제합니다.

$ sudo iptables -A INPUT -m set ! --match-set mylist src -j DROP 

그런 다음 화이트리스트에 정의된 호스트가 요구 사항을 충족하는 데 필요한 액세스 수준을 허용하도록 허용합니다.

관련 정보