IPTables - 국가에 따라 트래픽 리디렉션

IPTables - 국가에 따라 트래픽 리디렉션

지정된 포트에서 지정된 국가의 TCP 트래픽만 허용하고 나머지 트래픽은 iptables를 사용하여 다른 IP/포트로 리디렉션하는 방법이 있습니까?

답변1

작동하기 전에 geoip 데이터베이스를 설정하고 업데이트해야 합니다.

iptables -I INPUT -m geoip -p tcp --dport ### --src-cc CN -j ACCEPT
iptables -A PREROUTING -m geoip -p tcp --dport ###  --src-cc ! CN -j DNAT --to-destination 1.1.1.1:333

1.1.1.1을 IP로 바꾸고 333을 원하는 포트로 바꾸십시오.

다음은 도움이 되는 튜토리얼입니다. http://xmodulo.com/block-network-traffic-by-country-linux.html 분명히 이 링크는 사라졌기 때문에 인터넷 보관용으로 하나를 추가하고 있습니다.

https://web.archive.org/web/20190410142529/http://xmodulo.com/block-network-traffic-by-country-linux.html

때때로 IP 주소가 소유자와 국가를 변경하므로 데이터베이스를 주기적으로 업데이트해야 합니다.

답변2

올바른 구문은 다음과 같습니다.

iptables -I INPUT -m geoip -p tcp --dport xxx --src-cc CN -j ACCEPT
iptables -A PREROUTING -p tcp --dport xxx --src-cc ! CZ,SK -j DNAT --to-destination 1.1.1.1:333

하지만 당신의 대답은 정확했습니다.

관련 정보