SNAT mit iptablesBisher sprachen wir allgemeine Grundsätze NAT, NAT-Typen, und was jede Art von NAT nicht. Einrichten des KernelsIn der Regel kommt jeder Linux-Distribution mit Kernel mit Netfilter-Unterstützung kompiliert, iptables-Tool, und alle Module, für die Durchführung von Network Address Translation benötigt. Das Netfilter NAT-TabelleDie NAT-Tabelle enthält drei-Ketten PREROUTING, POSTROUTING und OUTPUT. Jede Kette kann Regeln, die der Reihe nach, bis eine der Regeln geprüft werden, enthalten ein Spiele-Paket, das gleiche wie für die Ketten in der Netfilter-Tabelle. Diese Ketten können durch Eingabe des Befehls iptables betrachtet werden-t nat-L. SNAT mit iptablesSNAT eine der am häufigsten verwendeten Arten von NAT mit iptables, weil der Topologie verwendet wird.
Wir können bis SNAT, so dass alle Geräte im Netzwerk 192.168.1.0/24 auf das Internet zugreifen und nur eine Regel: iptables-t nat-A POSTROUTING-s 192.168.1.0/24 -J SNAT - to 1.2.3.1 Dieser Befehl hat die gleiche Wirkung wie den folgenden Befehl ein, die wir verwenden würde, wenn die IP-Adresse von eth1 dynamisch zugewiesen wurden, oder wenn wir früher eine DFÜ-Modem statt einer Ethernet-Karte: iptables-t nat-A POSTROUTING-s 192.168.1.0/24 -J MASQUERADE Nehmen wir an unserem Provider filtert alle Ports höher als 1024. In diesem Fall müssen wir den Quell-Port sowie zu ändern, und nicht nur die Quell-IP-Adresse. Dies kann dadurch erreicht werden: iptables-t nat-A POSTROUTING-s 192.168.1.0/24-j SNAT - to 1.2.3.1:1-1024 Der Laptop-Benutzer in der vorherigen Abbildung zu sehen ist ein IRC-Fan und er gibt uns einen Anruf sagte, er kann keine Verbindung zu IRC-Netzen. Dies bedeutet, dass die ip_conntrack Modul ein wenig Hilfe braucht, und wir können es ihm zu geben, indem Sie die ip_conntrack_irc Modul im Kernel. Außerdem möchten wir den Benutzern machen erfolgreichen FTP-Verbindungen, und so wollen wir die ip_conntrack_ftp Modul sowie hinzuzufügen. ip_conntrack_irc # modprobe oder insmod ip_conntrack_irc Nach ein paar Wochen hat der Laptop-Nutzer anderen Nutzern im Netzwerk 192.168.1.0/24, wie wunderbar das IRC davon überzeugt ist, so haben wir etwa 20-30 Benutzer eine Verbindung zu den gleichen IRC-Netzwerk. Jetzt haben sie angefangen, sich zu beklagen, wie schwierig es ist, auf dem IRC-Netzwerk anzuschließen, weil das IRC-Netzwerk ermöglicht nur ein paar Verbindungen von der gleichen IP-Adresse. Wir rechnen, dass 32 IP-Adressen sind genug für sie, so nennen wir die Anbieter zu beauftragen uns ein / 27 öffentliche IP-Subnetz. Für ein paar Dollar extra, weisen sie uns 1.2.4.0/27. Wir müssen die erste Regel zu ändern:
iptables-t nat-A POSTROUTING-s 192.168.1.0/24 -J SNAT - to 1.2.4.0-1.2.4.32 Sie aufhören, zu jammern, aber wir wissen, dass wir nicht die öffentliche IP-Adresse unseres Linux-Router für NAT verwenden mehr. Let's hinzufügen, dass auch, so geben wir ihnen eine zusätzliche IP-Adresse: iptables-t nat-A POSTROUTING-s 192.168.1.0/24-j SNAT - to 1.2.4.0-1.2.4.32 - Bis 1.2.3.1 Einer unserer Nutzer wird in einen Streit im IRC, und wird überschwemmt, während SNAT seine IP-Adresse MAPPS zu 1.2.4.15. Unser Provider's Flood-Detection-System filtert automatisch die IP-Adresse und schickt uns eine E-Mail informieren Sie uns darüber. Wir müssen aufhören SNAT zu internen Adressen auf dieser IP-Adresse anzeigen, so dass wir folgendes tun: iptables-t nat-A POSTROUTING-s 192.168.1.0/24-j SNAT - Bis 1.2.4.0-1.2.4.14 - bis 1.2.4.16-1.2.4.32 - bis 1.2.3.1 Ein Mann aus dem Rechnungswesen mit der IP Adresse 192.168.1.19 beklagt, dass er nicht alle Computer mit IP-Adressen über 192.168.1.32 zugreifen können. Es ist möglich, dass er seine Netzmaske 255.255.255.227 hat sich verändert, so dass alle IP-Pakete von seinem Computer zu Computer in 192.168.1.0/24, die nicht in 192.168.1.0/27 passieren die Linux-Router und nutzen Sie SNATed. Um dieses Problem zu lösen, haben wir zwei Alternativen. iptables-t nat-A POSTROUTING-s 192.168.1.0/24 -D! 192.168.1.0/24 -J SNAT - to 1.2.4.0-1.2.4.32 - bis 1.2.3.1 Die zweite Wahl, die wir haben, ist nur die Pakete, die aus weiter eth1 SNAT: iptables-t nat-A POSTROUTING-s 192.168.1.0/24 -O eth1 -J SNAT - to 1.2.4.0-1.2.4.32 - bis 1.2.3.1 Unser Provider verbunden anderen Standort unseres Unternehmens auf die gleiche Ausstattung, und da sind wir in der selben VLAN, wir haben nicht einen Tunnel zwischen den Routern an jedem Standort zu bauen, sondern nur Route der Netze durch die Linux-Router an dieser Stelle . Auf der anderen Seite haben wir das Netzwerk 192.168.2.0/24. Wir müssen auf die Computer in unserem Netzwerk Zugang zu Computern im Netzwerk 192.168.2.0/24 ohne SNATing ihnen lassen: iptables-t nat-I POSTROUTING-s 192.168.1.0/24-d 192.168.2.0/24-j ACCEPT Dieser Befehl wird die Regel vor dem NAT-Regel einfügen, so dass, wenn alle Pakete aus 192.168.1.0/24 ist für jede IP im Netzwerk 192.168.2.0/24 bestimmt sind, werden dieser Regel entsprechen und die Kette wird nicht weiter analysiert, so SNAT findet nicht statt. iptables-t nat-I POSTROUTING-s 192.168.1.31 -P tcp - dport 6666:6669 -J DROP Wir möchten an den Manager, was Jane machen darf fragen. Zum Beispiel, wenn der Manager will Jane nur Web-Zugriff zulassen, können wir folgendes tun: iptables-t nat-I POSTROUTING-s 192.168.1.31 -P tcp - dport! 80 -J DROP Diese Regel wird nicht SNAT Jane's IP-Adresse bei dem Versuch, etwas anderes als Port 80 TCP-Zugriff, aber es wird SNAT ihre IP-Adresse beim Zugriff auf alle UDP-Dienste, da UDP-Pakete, die nicht der Regel entsprechen, so sie in der Lage sein wird, alle DNS-Server zugreifen außerhalb unseres Netzwerks. DNAT mit iptablesWir werden weiterhin mit dem bisherigen Szenario für DNAT auch. Eines Tages, fordert der Manager uns sagen, sie braucht, um ihren Computer von zu Hause aus zugreifen können. Natürlich können sie das nicht tun, weil ihre private IP-Adresse 192.168.1.50. Wir entscheiden uns für eine der öffentlichen IP-Adressen, die wir für ihre Büro-Rechner haben, zugeteilt werden, aber wenn man ein Alias für eth0 für die zu schaffen, würden wir verlieren nicht nur einige IP-Adressen, aber sie wird auch nicht in der gleichen sein Netzwerk wie die anderen. Die beste Lösung ist es, anzeigen eine öffentliche IP-Adresse (sagen wir 1.2.4.1) an private IP ihrem Büro-Computer-Adresse (192.168.1.50). Dies ist, natürlich, DNAT: iptables-t nat-A PREROUTING-d 1.2.4.1 --j DNAT - to 192.168.1.50 Also das nächste, was zu tun ist, sie anzurufen und ihm sagen, daß, wenn sie zu ihrem Büro-Rechner von zu Hause in Verbindung zu treten versucht, muß sie eine Verbindung zu 1.2.4.1. iptables-t nat-A PREROUTING-s 1.2.5.17-d 1.2.4.2 --p tcp - dport 80-j DNAT - to 192.168.1.100 Wir denken, wir möchten auf den Intranet-Server von überall SSH. Es wäre eine sehr kluge Idee, eine IP-Adresse mit dem Intranet-Server anzeigen, wie es für unser Unternehmen von entscheidender Bedeutung, und wenn ein SSH-Fehler entdeckt wird, wir nicht wollen, dass Server gehackt werden. Eine gute Idee wäre, eine hohe Port-Nummer, den SSH-Port auf dem Intranet-Server anzeigen (dies ist PAT oder NAPT). iptables-t nat-A PREROUTING-d 1.2.4.2 -P tcp - dport 65521-j DNAT - to 192.168.1.100:22 Auf diese Weise, wenn wir nicht im Büro, und wir wollen in den Intranet-Server, SSH, öffnen wir eine SSH-Verbindung zu 1.2.4.2 Port 65521. iptables-t nat-A PREROUTING-d 1.2.4.5-p tcp - dport 80-j DNAT - to 192.168.1.200 Transparent ProxyTransparent Proxy ist eine Möglichkeit, Benutzer dazu zu zwingen einen Proxy-Server, auch wenn ihre Browser so konfiguriert sind, nicht zu verwenden. Wahrscheinlich wissen Sie über die Vorteile der Verwendung eines Proxy-Server spart Bandbreite für Seiten aus dem Cache und Zutrittskontrolle Umsetzung (zB leugnen, Downloads von Dateien, die gefährlichen Erweiterungen haben). iptables-t nat-A PREROUTING-s 192.168.1.0/24 -P tcp - dport 80-j REDIRECT - to-port 3128 Wenn wir an den Manager zulassen möchten (wer hat die IP-Adresse 192.168.1.50) auf den Proxy-Server zu umgehen, tun wir dies wie folgt aus: iptables-t nat-I PREROUTING-s 192.168.1.50 --p tcp - dport 80-j ACCEPT Diese Regel wird in der PREROUTING-Kette zugeordnet werden, und sie wird in der POSTROUTING-Kette SNATed werden. 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 "SNAT 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: 411 users browsing the articles directory |
|
|