Wir haben einen einfachen Router mit symmetrischem NAT, aber da dieser Router keine Debugging-Schnittstelle bietet, können wir nicht herausfinden, ob ein bestimmtes Paket das NAT erreicht oder nicht.
Daher möchten wir einen LINUX-Computer einrichten, der ihn zu einem Router mit symmetrischem NAT macht. Auf diese Weise können wir alle Pakete zu diesem "NAT" erfassen und die gewünschten Informationen abrufen. Wie können wir das unter Linux machen (Fedora-System, Kernel 2.6.xx)?
Antworten:
Um einen Linux-Computer als Router festzulegen, benötigen Sie Folgendes
1- Aktivieren Sie die Weiterleitung auf der Box mit
Angenommen, Ihre öffentliche Schnittstelle ist eth1 und die lokale Schnittstelle ist eth0
2- Legen Sie die Natting-Regel fest mit:
3- Akzeptiere Verkehr von eth0:
4- Zulassen, dass Verbindungen über die öffentliche Schnittstelle hergestellt werden.
5- Ausgehende Verbindungen zulassen:
quelle
Dies ist das einfache Skript, das den Trick ausführen kann, den es vom Router benötigt. Es ist auf UBUNTU 16.04 gut getestet
quelle
Ich denke, die anderen Antworten haben einige wichtige Punkte übersehen. Unter der Annahme, dass sich iptables in einem neuen Zustand befindet, wird eth0 erneut als interne Schnittstelle und eth1 als externe Schnittstelle verwendet:
Aktivieren Sie die IP-Weiterleitung im Kernel:
Aktivieren Sie die Maskerade auf eth1, um die Quelladresse für ausgehende Pakete neu zu schreiben. Wenn Sie wirklich symmetrisches NAT wollen, benötigen Sie
--random
am Ende Folgendes :Weiterleitungsregeln konfigurieren. Standardmäßig leitet iptables den gesamten Datenverkehr bedingungslos weiter. Sie möchten wahrscheinlich den eingehenden Datenverkehr aus dem Internet einschränken, aber alle ausgehenden Daten zulassen:
Beachten Sie, dass wir die INPUT- oder OUTPUT-Ketten in der Filtertabelle nicht berührt haben. Diese haben nichts damit zu tun, ein Router zu sein.
Keine dieser Änderungen wird beim Neustart beibehalten.
quelle