NAT und Mangling mit iptables

Im ersten Teil dieses Artikels werden wir lernen, wie Network Address Translation (NAT) und Port Address Translation (PAT) durchführen, die auch als Network Address and Port Translation (NAPT), mit iptables bezeichnet. Danach werden wir lernen, was Mangling ist und wie man Pakete mangle.

Eine kurze Einführung in die NAT-und PAT (NAPT)

  

Nach der Art und Weise TCP / IP arbeitet, um für die Hosts über das Internet kommunizieren können, müssen jeweils eine eindeutige IP-Adresse.
Aufgrund der Knappheit der öffentlichen IP-Adressen zur Verfügung, ist es notwendig, eine IP-Adresse für mehrere Hosts über NAT einsetzen.
Network Address Translation ist ein Weg, um eine IP-Adresse in eine andere zu übersetzen. Dies bedeutet einen NAT-Router (Linux in unserem Fall), dass der Quell-oder Ziel-IP eines Gerätes hinter dem NAT-Router umschreibt.
Es gibt viele kleine Kästchen namens SOHO-Router oder einem NAT-Router, die NAT verwendet werden, um für einen kleinen privaten LAN durchführen können. Sie sind billig und in der Regel können Sie einfach und stecken Sie sie in alles funktioniert. Wenn Sie bereits verwendet haben, wirst du sehen, dass es viele Dinge, die man mit Linux zu tun.


SNAT und Masquerade

SNAT ein Alias für Source Network Address Translation ist. Es heißt so, weil nur die Quell-IP-Adresse umgesetzt wird. Die NAT-Box überschreibt die Quell-Adresse im IP-Header der Pakete durch ein Kästchen hinter NAT zu richten an eine oder mehrere IP-Adressen.
Ein oder mehrere Hosts können in eine oder mehrere öffentliche IP-Adressen nur beim Zugriff auf das Internet, aber wenn eine Anfrage aus dem Internet ist an die öffentliche IP-Adresse (n) gibt, wird die Anfrage zu keiner der Wirte übersetzt werden (wenn die übersetzte Adresse des Routers, so wird der Router zu erreichen, sonst Pakete verworfen werden). Dies ist ein guter Schutz für lokale Netzwerke und spart eine Menge öffentlicher IP-Adressen.
Wenn eine oder mehrere Rechner hinter NAT in nur eine öffentliche IP-Adresse übersetzt werden, heißt der Prozess statische SNAT. Wenn sie in mehrere öffentliche IP-Adressen übersetzt (in der Regel eine Reihe von IP-Adressen) erhoben werden, wird der Vorgang genannt dynamischen SNAT. Im Fall von dynamischen SNAT, der NAT-Router wählt eine IP-Adresse aus einer Reihe, so ein Computer Zugriff auf das Internet ist sehr wahrscheinlich, dass in verschiedenen IP-Adressen für jede Verbindung initiiert übersetzt werden. Für die dynamische SNAT, wählt iptables die am wenigsten verwendete IP-Adresse aus dem festgelegten Bereich. Wenn viele IP-Adressen aus dem Bereich überhaupt nicht verwendet werden, iptables wählt nach dem Zufallsprinzip einer von ihnen.
Masquerade oder MASQ funktioniert genauso wie statische SNAT nicht, es sei denn, dass Sie die öffentliche IP-Adresse angeben können, verwendet werden. Es wird automatisch die IP-Adresse der ausgehenden Schnittstelle des NAT-Router.

SNAT mit iptables eingeführt wurde, und nicht in netfilter für Kernel niedriger als 2,4 bestehen. Allerdings wurde Masquerade in iptables einfach deshalb, weil mit Schnittstellen wie PPP-Adapter gehalten, dass eine dynamisch zugewiesene IP-Adresse erhalten, ist es einfacher zu machen ein MASQ statt finden, der dynamisch zugewiesenen IP-Adresse und SNAT tun.

 

Wenn der Computer SNATed oder maskiert, wird die Linux-Router die Quelle ändern IP-Adresse im Paket-Header von 192.168.1.3 bis 1.1.1.1 und 2.2.2.2 auf das Paket nach dem Routing-Prozess übergeben. Informationen über diese Verbindung wird in / proc / net / ip_conntrack.
Wenn 2.2.2.2 Antworten, die IP-Paket, das in der Linux-Router erreicht werden Quell-IP-Adresse 2.2.2.2 und 1.1.1.1 Ziel-IP-Adresse haben. Linux sucht nach Informationen über dieses Paket in / proc / net / ip_conntrack und findet ein Spiel gegen Informationen auf dem vorherigen Schritt gespeichert. An dieser Stelle wird Linux die Ziel-IP-Adresse in das Paket-Header auf 192.168.1.3 ändern und das IP-Paket auf die NAT-Computer nach dem Routing-Prozess übergeben.

DNAT

DNAT oder Destination Network Address Translation Karten über eine öffentliche IP-Adresse an eine private IP-Adresse. DNAT der Rückseite SNAT ist, so, wenn Sie SNAT an eine private IP-Adresse in eine öffentliche IP-Adresse und DNAT zu derselben öffentlichen IP-Adresse in die gleiche private IP-Adresse zu übersetzen, wird das Ergebnis volle NAT.
DNAT-Regel verwendet wird, wenn Sie einen Server hinter NAT haben, so dass die gleiche öffentliche IP-Adresse zu verschiedenen privaten IP-Adressen zugeordnet ist abhängig von Ports bzw. Protokolle. Dieser Prozess wird auch als Port-Weiterleitung.
Normalerweise können nicht 2.2.2.2 Einleitung einer Mitteilung an 192.168.1.3 denn dies ist eine private IP-Adresse und ist nicht im Internet geroutet.
2.2.2.2 versucht, eine Verbindung mit 1.1.1.1 einzuleiten. Wenn eine DNAT-Regel für dieses Paket abgeschlossen wird, wird der Linux-Router die Ziel-IP-Adresse in das IP-Paket-Header aus 1.1.1.1 Änderung 192.168.1.3, übergeben das Paket in Richtung 192.168.1.3, und halten Sie eine Spur dieser Verbindung.
Wenn 192.168.1.3 antwortet, wird das Paket in der conntrack Tabelle der Linux-Router zu finden, damit es "weiß", dass das Paket, um die Verbindung von 2.2.2.2 auf 1.1.1.1 eingeleitet gehört. Der Linux-Router wird die Quelle ändern IP-Adresse in das IP-Paket-Header von 192.168.1.3 bis 1.1.1.1.

Wenn DNAT konfiguriert ist, aber SNAT nicht, wird 2.2.2.2 der Lage sein, Verbindungen zu schaffen 192.168.1.3 mit 1.1.1.1 als Ziel-IP-Adresse 192.168.1.3, aber nicht in der Lage, Verbindungen zu 2.2.2.2 einzuleiten.

 

Mit anderen Worten, ist die volle NAT SNAT und DNAT präsentiert als zuvor.
Dies ist die Funktion, die SOHO-Router als "DMZ", wie bereits erläutert. Der Grund dafür nennen sie diese Funktion "DMZ" ist, dass IP-Pakete nicht gehören, um eine Verbindung von jedem Host aus dem privaten Netzwerk 192.168.1.0/24 eingeleitet wird 192.168.1.3 weitergeleitet werden, so dass dieser Host nicht gewährleisteten Schutz durch die Tatsache, dass es eine private IP-Adresse.

Im Falle nur vorgestellt werden können, 1.1.1.1 NAT-Router die IP-Adresse oder es kann nur um sie weitergeleitet werden. Wenn es der Router die öffentliche IP-Adresse (wie in den früheren Diagramme), kann die NAT-Router nicht aus dem Internet zugegriffen werden (zB kann man es nicht in SSH), weil es alle Pakete werden auf 192.168.1.3 zu übermitteln.

PAT oder NAPT

PAT steht für Port Address Translation und es wird auch als NAPT, die für Network Address Translation und Port steht. Die Idee hinter PAT ist nicht nur die IP-Adresse zu übersetzen, sondern auch die Port-Nummer für bestimmte Hosts und Ports.
Das Unternehmen Web-Server hinter NAT und hat die IP-Adresse 192.168.1.100. Da nur eine öffentliche IP-Adresse, http://www. . com "ist so konfiguriert, dass 1.1.1.1 reagieren. Für die Web-Server aus dem Internet zugegriffen werden kann, müssen wir die Adresse 1.1.1.1 zu 192.168.1.100 umzuschreiben, wenn eine Anfrage in unser NAT-Router mit den Ziel-Port 80 kommt.
Mehr als das, haben wir ein Firmen-Intranet-Server mit der IP-Adresse 192.168.1.200, Betrieb eines Web-Server auf Port 80. Wenn in dem Büro, haben die Mitarbeiter auf den Typ http://192.168.1.200 in ihrem Web-Browser und sie in der Intranet-Web-Server anmelden.
Wenn wir wollen, dass Benutzer auf den Intranet-Server, wenn sie außerhalb des Büros log, PAT ist die Antwort. Mit PAT, können wir die Wahl eines Hafens, die nicht auf der NAT-Router geöffnet (z. B. 2143), und wenn die Anfrage kommt aus dem Internet mit dem Ziel-IP-Adresse 217.156.123.3 und die Ziel-Port 2143, schreibt die NAT-Router die Ziel-IP-Adresse auf 192.168.1.200 und den Ziel-Port 2143-80.
Auf diese Weise aus dem Internet, wenn ein Benutzer:

  1. http://www. . com / der Antrag an 192.168.1.100 auf Port 80 weitergeleitet und die Web-Seite wird angezeigt
  2. http://www. . com: 2143 / der Antrag an 192.168.1.200 auf Port 80 weitergeleitet und das firmeneigene Intranet Web-Seite wird angezeigt

Wir haben noch nicht auf den Port neu zu schreiben, wenn ein Paket die Quell-IP-Adresse 192.168.1.200 hat, dann müssen wir nur eingerichtet SNAT oder Masquerade, so dass die Intranet-Server greift auf das Internet mit 1.1.1.1.

Ein Artikel eingereicht von Philip A Clare


Disclaimer:Unsere Website ist nicht verantwortlich für den Inhalt dieses Artikels. Webarticles ist eine kostenlose Informationsquelle.
Wichtig: Dieser Artikel "NAT und Mangling mit iptables" wurde durch ein automatisches Software übersetzt. Wir fühlen uns leid für alle Rechtschreibfehler, die möglicherweise aufgetreten sind. Vielen Dank für Ihr Verständnis.


Online: 161 users browsing the articles directory   


  

|