iptables und das Networking im Allgemeinen ist komplizierter, als Sie dies würdigen.
Nehmen wir also an, Sie tun dies nur in der Hoffnung, den gesamten ausgehenden Datenverkehr von eth1 wie in Ihrer ersten Zeile zu aktivieren:
-A FORWARD -i eth1 -p tcp -j ACCEPT -P FORWARD DROP
Wo dies bricht, ist, dass alle Verbindungen und der Verkehr in beide Richtungen erfolgen . FORWARD verarbeitet den gesamten Datenverkehr, der weder auf den Router gerichtet ist (INPUT) noch vom Router (OUTPUT) stammt. Daher erhält FORWARD sowohl den ausgehenden TCP-Verkehr, der die Verbindung initiiert (was Ihre Regel zulässt) als auch alle Antworten, die versuchen, diese Verbindung zu bestätigen und den Verkehr zurückzuleiten (was, da Sie alles andere löschen, was nicht passt, eine neue Regel erfordern würde) erlauben).
Hier wird iptables sehr schnell sehr kompliziert, denn es ist verrückt, für jedes mögliche Paket in beide Richtungen eine Regel festzulegen. Es wird einfacher, wenn die erste Regel darin besteht, den Datenverkehr über bestehende Verbindungen mit dem Status "-m state - ESTABLISHED" zuzulassen, da Sie in Ihrer anderen Frage bereits begonnen haben, das NAT-Problem zu lösen . So können Sie nur Regeln für Verbindungen schreiben, die Sie starten möchten. Es kann auch hilfreich sein, eingehende und ausgehende Verbindungen nach ihren eigenen Regeln zu sortieren (es sei denn, Sie sind nur besorgt über ausgehende Verbindungen), wie im Folgenden beschrieben:
#setup -N outbound -N inbound #design -A FORWARD -m state --state ESTABLISHED -j ACCEPT -A FORWARD -i eth0 -o eth1 -j inbound -A FORWARD -i eth1 -o eth0 -j outbound -P FORWARD DROP #allow outgoing web access -A outbound -p tcp -m tcp --dport 80,443 -j ACCEPT #and nothing else -A outbound DROP #etc....