iptables leitet den gesamten Datenverkehr an die Schnittstelle weiter


14

Ich habe zwei Schnittstellen eth1und eth0. Ich möchte, dass der gesamte Datenverkehr an eth0weitergeleitet wird eth1. Ich habe eine iptable-Regel wie folgt erstellt:

iptables -A FORWARD -s 0/0 -i eth0 -p tcp -o eth1 -j ACCEPT

Das funktioniert aber nicht. Ist das der richtige Weg, dies zu tun?

Antworten:


22

Wenn Sie die Weiterleitung im Kernel noch nicht aktiviert haben, tun Sie dies.

  • Offen /etc/sysctl.confund unkommentiertnet.ipv4.ip_forward = 1

  • Dann ausführen $ sudo sysctl -p

Fügen Sie die folgenden Regeln hinzu iptables

sudo iptables -t nat -A POSTROUTING --out-interface eth1 -j MASQUERADE  
sudo iptables -A FORWARD --in-interface eth0 -j ACCEPT

Der gesamte weitergeleitete Verkehr durchläuft die FORWARD-Kette. Um Pakete zu filtern, müssen Sie jetzt Regeln für diese Kette erstellen, die angeben, welche Schnittstelle eingehend / ausgehend ist, anstatt die INPUT / OUTPUT-Ketten zu verwenden.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.