IPTables: redirigir el tráfico según el país

IPTables: redirigir el tráfico según el país

¿Hay alguna manera de permitir el tráfico TCP solo de países específicos en un puerto específico y el resto del tráfico redirigido a otra IP/puerto usando iptables?

Respuesta1

Deberá configurar y actualizar la base de datos geoip antes de que funcione.

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

reemplaza 1.1.1.1 con tu IP y 333 con el puerto que quieras.

Aquí te dejamos un tutorial para ayudarte: http://xmodulo.com/block-network-traffic-by-country-linux.html Aparentemente este enlace falló, así que estoy agregando uno para el archivo de Internet.

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

Deberá actualizar periódicamente las bases de datos ya que a veces las direcciones IP cambian de propietario y de país.

Respuesta2

La sintaxis correcta es:

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

Pero tu respuesta fue correcta.

información relacionada