Iptables: Maskierung und Routing

Iptables: Maskierung und Routing

Ich habe einen WAN-Router, der über ein WAN-Subnetz mit dem ISP verbunden ist /30. Er dient aber auch als Router für ein /29lokales öffentliches WAN-Subnetz, das mit einigen meiner Server verbunden ist. Der Datenverkehr /29wird über das Subnetz zum ISP geleitet /30. Aus kabelgebundenen Gründen möchte ich die Schnittstelle mit der /30IP maskieren (NAT). Die Schnittstelle mit /30der IP sollte also für mein Netzwerk als maskiert erscheinen 192.168.1.0/24und auch als normaler Nicht-NAT-Router für mein öffentliches WAN-Subnetz fungieren /29. Kann dies mit iptables auf einem Linux-Rechner gemacht werden?

BEARBEITEN1: So sind meine Firewall-Regeln derzeit:

iptables -F
iptables -X
iptables -t nat -F
iptables -t nat -X

iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT

#WAN Security
iptables -A INPUT -d 1.2.3.3 -m state --state INVALID -j DROP
iptables -A INPUT -d 1.2.3.3 -m state --state ESTABLISHED,RELATED -j ACCEPT

#NAT
iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -o eth0 -j SNAT --to-source 1.2.3.3

#FORWARD
iptables -A FORWARD -i eth1 -o eth0 -j ACCEPT
iptables -A FORWARD -i eth0 -o eth1 -j ACCEPT


iptables -A INPUT -d 1.2.3.3 -j DROP

Antwort1

Ja, das funktioniert einwandfrei. Richten Sie Ihre Paketfilterung und Ihr Routing so ein, als ob Sie überhaupt kein NAT verwenden würden, und fügen Sie dann etwas wie Folgendes hinzu:

iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -o eth0 -j SNAT --to-source 1.2.3.3

(Vorausgesetzt, Ihr ISP ist mit eth0 verbunden und Ihre öffentliche IP ist 1.2.3.3.)

Dadurch wird NAT nur auf Pakete angewendet, die aus Ihrem LAN mit privaten IP-Adressen kommen.

verwandte Informationen