IPTables - Verkehr basierend auf dem Land umleiten

IPTables - Verkehr basierend auf dem Land umleiten

Gibt es eine Möglichkeit, TCP-Verkehr nur aus bestimmten Ländern auf einem bestimmten Port zuzulassen und den restlichen Verkehr mithilfe von iptables auf eine andere IP/einen anderen Port umzuleiten?

Antwort1

Sie müssen die GeoIP-Datenbank einrichten und aktualisieren, bevor es funktioniert.

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

Ersetzen Sie 1.1.1.1 durch Ihre IP und 333 durch den gewünschten Port.

Hier ist ein Tutorial, das Ihnen weiterhilft: http://xmodulo.com/block-network-traffic-by-country-linux.html Dieser Link ist offenbar nicht mehr gültig, deshalb füge ich einen für das Internetarchiv hinzu.

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

Sie müssen die Datenbanken regelmäßig aktualisieren, da IP-Adressen manchmal den Besitzer und das Land wechseln.

Antwort2

Die korrekte Syntax lautet:

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

Aber Ihre Antwort war richtig.

verwandte Informationen