
Was ist der Unterschied zwischen diesen beiden Tools?
Kann mir jemand sagen, wie der Haupt-Workflow der Vernetzung hinter Linux aussieht (in Bezug auf IPv4-Paketfilterung, NAT und IP-Routing-Tabelle)?
Antwort1
route
ist ein Befehl, der Einträge in der TCP/IP-Routingtabelle des Kernels (auch „Forwarding Information Base“ genannt) anzeigt, hinzufügt und löscht.
iptables
ist ein Befehl, der Einträge in Netfilter, dem Paketfilter- und -manipulationssubsystem des Linux-Kernels, anzeigt, hinzufügt und löscht. Er verwaltet NAT.
Da es sich bei der IP-Weiterleitung bzw. beim Routing im Wesentlichen um das Umschreiben eines Pakets mit einer anderen Quelladresse und das Versenden über eine andere Netzwerkschnittstelle handelt, könnten Sie meiner Meinung nach mit den richtigen iptables
Regeln in der mangle
Tabelle technisch gesehen auch statisches Routing durchführen. Ich bin jedoch der Ansicht, dass es im Allgemeinen am schnellsten ist, dies dem Routing-Teil des Kernels zu überlassen.
Es gibt viele Diagramme, die genau zeigen, wie ein TCP/IP-Paket den Kernel durchläuft (einschließlich Netfilter und Routing-Funktion). Ein Beispiel hierfür ist dieses:http://www.adminsehow.com/2011/09/iptables-packet-traverse-map/