Iptables vs Route

26

Was ist der Unterschied zwischen diesen beiden Tools?

Kann mir jemand sagen, was der Hauptworkflow des Netzwerks hinter Linux ist (in Bezug auf IPv4-Paketfilter, NAT und IP-Routing-Tabelle)?

Bestimmend
quelle

Antworten:

27

route ist ein Befehl, der Einträge in der TCP / IP-Routing-Tabelle des Kernels anzeigt, hinzufügt und löscht (auch "Forwarding Information Base" genannt).

iptablesist ein Befehl zum Anzeigen, Hinzufügen und Löschen von Einträgen in Netfilter, dem Subsystem zum Filtern und Bearbeiten von Paketen im Linux-Kernel. Es behandelt NAT.

Da IP-Weiterleitung, dh Routing, im Grunde genommen ein Paket mit einer anderen Quelladresse umschreibt und über eine andere Netzwerkschnittstelle versendet, können Sie das statische Routing nach den iptablesin der mangleTabelle angegebenen Regeln durchführen , aber ich glaube, das geht im Allgemeinen am schnellsten Lassen Sie den Routing-Teil des Kernels das tun.

Es gibt viele Diagramme, die genau veranschaulichen, wie ein TCP / IP-Paket den Kernel durchläuft (einschließlich Netfilter und der Routing-Funktion). Ein Beispiel hierfür ist: http://www.adminsehow.com/2011/09/iptables- Paket-Traverse-Map /

LawrenceC
quelle
1
Diese Karte ist großartig.
Jacob Margason
Gehört die "TCP / IP-Routing-Tabelle" von route auch zur Tabelle von iptables?
lovespring
1
Ich habe es noch nicht ausprobiert, aber ich denke, Sie können den Kernel mit deaktiviertem Netfilter kompilieren, aber die Weiterleitung funktioniert weiterhin, wenn es aktiviert ist. Daher glaube ich, dass Netfilter und die Routing-Einrichtung getrennt sind.
LawrenceC