iptables
일반 텍스트 파일의 IP 주소를 사용하여 규칙을 제공할 수 있는 모듈이 있습니까 ?
iptables-restore
예: WhatsApp 관련 IP 주소를 허용하기 위해 사용자 정의 규칙 세트로 생성된 사용자 정의 체인이 있습니다 .
:_WHATSAPP_ - [0:0]
-A _WHATSAPP_ -j ACCEPT
-A FORWARD -s <src_host> -d 31.13.64.51/32 -j _WHATSAPP_
-A FORWARD -s <src_host> -d 31.13.65.49/32 -j _WHATSAPP_
-A FORWARD -s <src_host> -d 31.13.66.49/32 -j _WHATSAPP_
-A FORWARD -s <src_host> -d 31.13.67.51/32 -j _WHATSAPP_
-A FORWARD -s <src_host> -d 31.13.68.52/32 -j _WHATSAPP_
-A FORWARD -s <src_host> -d 31.13.69.240/32 -j _WHATSAPP_
----snip-----
WhatsApp에서 사용하는 모든 IP 주소는 다음에서 찾을 수 있습니다.이 링크.
경우에 따라 이 파일을 다운로드하고, ipv4 주소를 필터링하고, 다음 정보(있는 경우)와 함께 iptables를 제공하는 스위치를 사용하는 것이 더 빠릅니다.
:_WHATSAPP_ - [0:0]
-A _WHATSAPP_ -j ACCEPT
-A FORWARD -s <src_host> --from-file-dst /etc/iptables/whatsapp_cidr.txt -j _WHATSAPP_
이 기능이 존재하나요? 맨페이지에서 찾을 수 없습니다.
iptables-restore
파일을 처리하기 위해 이미 sintax 규칙을 사용하는 사용자 정의 방화벽 스크립트가 있으므로 파일을 로드하고 읽을 수 있는 모듈이 필요합니다 .
답변1
를 사용하여 목록을 제공하는 방법을 제안할 수 있습니다 iptables
.IPs
ipset
간단하게 다음을 생성할 수 있습니다 ipset
.
ipset -N <ipset name> iphash
IP
그런 다음 다음을 사용하여 컬렉션에 무엇이든 추가 할 수 있습니다 .
ipset add <ipset name> IP
그런 다음 다음에서 컬렉션을 사용할 수 있습니다 iptables
.
-A FORWARD -d <dst> -m set --match-set <ipset name> src -j _WHATSAPP_
IPs
실행하지 않고도 런타임에 컬렉션에 데이터를 제공하고 컬렉션에서 제거 할 수 있는 간단한 스크립트를 작성할 수 있습니다.iptables-restore
답변2
이걸 활용하면 좋을 것 같아요https://gist.github.com/woods/25ef91a95da85bf10974 그런 다음 IP로 별도의 .csv 파일을 생성하고 이를 IPTABLES에 공급합니다.