
Ich verwende diese Regel, um SNAT zu konfigurieren:
iptables -t nat -A POSTROUTING -o eth1 -j SNAT --to-source 193.49.142.107:4000
Ich möchte eine Regel festlegen, um Pakete herauszufiltern, die nicht an die interne Adresse und den Port gerichtet sind, die die Sitzung initiiert haben. Um Pakete von einem bestimmten externen Endpunkt zu empfangen, muss der interne Endpunkt außerdem zuerst Pakete an die IP-Adresse dieses bestimmten externen Endpunkts senden. (NAT-adressabhängiges Filtern)
Beispiel:
Eine Maschine mit interner IP und Port (X:x), die sich hinter dem NAT befindet, öffnet eine Verbindung zu einem Server mit IP Y. Mit der Regel muss ich also in der Lage sein, nur Verbindungen zuzulassen, die von der IP-Adresse Y kommen und an (X:x) gerichtet sind. Alle anderen Verbindungen werden getrennt.
Antwort1
iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE
iptables -P FORWARD -j DROP
iptables -A FORWARD -o eth1 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A FORWARD -i eth1 -m state --state ESTABLISHED -j ACCEPT
Was bewirken diese Regeln?
-A POSTROUTING -o eth1 -j MASQUERADE
verbirgt Ihre internen IPs, wenn Pakete Ihr Netzwerk verlassen-P FORWARD -j DROP
legt die Standardrichtlinie für Ihre FORWARD-Kette auf DROP fest-A FORWARD -o eth1 -m state --state NEW,ESTABLISHED -j ACCEPT
ermöglicht neue und bestehende weitergeleitete Verbindungen-A FORWARD -i eth1 -m state --state ESTABLISHED -j ACCEPT
erlaubt nur etablierte weitergeleitete Verbindungen in
Die oben genannten Regeln gehen davon aus, dass Sie diese Box als Gateway/Firewall verwenden und eth1
mit Ihrem WAN und eth0
Ihrem LAN verbunden sind.
Zusätzliche Lektüre:Postrouting und IP-Masquerading
BEARBEITEN
So konfigurieren Sie eine „bedingte“ Portweiterleitung:
Nach Quellport
iptables -A PREROUTING -t nat -i eth1 -p tcp --sport [trusted_source_port] --dport [external_port] -j DNAT --to [internal_ip]:[internal_port]
iptables -A FORWARD -p tcp -d [internal_ip] --dport [internal_port] -j ACCEPT
Nach Quell-IP
iptables -A PREROUTING -t nat -i eth1 -p tcp -s [trusted_source_ip] --dport [external_port] -j DNAT --to [internal_ip]:[internal_port]
iptables -A FORWARD -p tcp -d [internal_ip] --dport [internal_port] -j ACCEPT