Ich bin verwirrt, was der eigentliche Unterschied zwischen SNAT und Masquerade ist.
Wenn ich meine Internetverbindung im lokalen Netzwerk freigeben möchte, sollte ich dann SNAT oder Masquerade auswählen?
Ich bin verwirrt, was der eigentliche Unterschied zwischen SNAT und Masquerade ist.
Wenn ich meine Internetverbindung im lokalen Netzwerk freigeben möchte, sollte ich dann SNAT oder Masquerade auswählen?
Antworten:
Für das SNATZiel muss eine IP-Adresse angegeben werden, die für alle ausgehenden Pakete gilt. Mit dem MASQUERADEZiel können Sie ihm eine Schnittstelle zuweisen, und jede Adresse auf dieser Schnittstelle ist die Adresse, die auf alle ausgehenden Pakete angewendet wird. Außerdem werden mit SNATdem Connection Tracking des Kernels alle Verbindungen nachverfolgt, wenn die Schnittstelle heruntergefahren und wieder hochgefahren wird. Gleiches gilt nicht für das MASQUERADEZiel.
Gute Dokumente umfassen die HOWTOs auf der Netfilter-Site und die iptablesManpage .
-j SNAT(im Gegensatz zur Verfolgung des Recyclings mit -j MASQUERADE), wenn eine neue ausgehende Verbindung von einem LAN-Knoten dieselbe Quellportnummer verwendet wie die getrennte ausgehende Verbindung von demselben LAN-Knoten. In diesem Fall kann ich mir vorstellen, dass eingehende Pakete von der alten ausgehenden Verbindung an den Knoten gesendet werden und dessen TCP-Stapel verwirren. Was ist mit -j SNAT, wenn die NAT-Box mit derselben externen IP-Adresse konfiguriert ist und der Kernel weiterhin Pakete von alten Verbindungen weiterleitet, anstatt mit RST zu antworten?
Grundsätzlich SNATund MASQUERADEmachen Sie dasselbe wie in der NAT-Tabelle innerhalb der POSTROUTING-Kette.
Unterschiede
MASQUERADEerfordert nicht, --to-sourcewie es gemacht wurde, um mit dynamisch zugewiesenen IPs zu arbeiten
SNAT funktioniert nur mit statischen IPs, deshalb hat es --to-source
MASQUERADEEs hat zusätzlichen Overhead und ist langsamer als SNATjedes Mal, MASQUERADEwenn ein Ziel von einem Paket getroffen wird, muss es nach der zu verwendenden IP-Adresse suchen.
HINWEIS : Ein typischer Anwendungsfall für MASQUERADE: Eine AWS EC2-Instanz in einer VPC verfügt über eine private IP innerhalb der VPC-CIDR (z. B. 10.10.1.0/24) - 10.10.1.100. Außerdem verfügt sie über eine öffentliche IP, um mit dieser zu kommunizieren das Internet (vorausgesetzt es befindet sich in einem öffentlichen Subnetz) über welches die private IP 1: 1 NAT. Die öffentliche IP-Adresse kann sich nach dem Neustart der Instanz ändern (wenn es sich NICHT um eine EIP handelt). MASQUERADEDies ist in diesem Anwendungsfall die bessere Option.
Wichtig: Es ist weiterhin möglich, das MASQUERADEZiel mit statischer IP zu verwenden. Beachten Sie jedoch den zusätzlichen Aufwand.
Verweise