GNU/Linux >> LINUX-Kenntnisse >  >> Linux

AWS VPC + IPtables + NAT:Portweiterleitung funktioniert nicht

Endlich habe ich es geknackt !!!!

Auf der NAT-Instanz musste ich den folgenden Befehl ändern:

Von:

iptables -t nat -A POSTROUTING -o eth0 -s 10.0.0.0/16 -j MASQUERADE

An:

iptables -t nat -A POSTROUTING -j MASQUERADE

Und es FUNKTIONIERT!!!

Daher werde ich bald eine neue Frage zu ServerFault erstellen, in der ich frage, welche Vor- und Nachteile die Verwendung der beiden oben genannten Befehle hat.


  • Stellen Sie sicher, dass Sie den TCP-Port 2222 zulassen eingehend von 0.0.0.0/0 in der Sicherheitsgruppe für Ihre Nat-Box
  • Stellen Sie sicher, dass Ihre VPC "Routing-Tabelle" richtig eingerichtet ist.
  • Mindestens zwei separate Tabellen (eine mit dem privaten Subnetz, eine mit dem öffentlichen Subnetz verknüpft)
  • Deine 10.0.1.0 Das (private) Subnetz sollte eine Routing-Tabellenregel wie die folgende haben:Ziel:0.0.0.0/0 , Ziel:"Natbox"
  • Dein 10.0.0.0 (öffentliches) Subnetz sollte eine Routing-Tabellenregel haben wie:Ziel:0.0.0.0/0 , Ziel:"Internet-Gateway"
  • Stellen Sie sicher, dass Sie die Quell-/Zielüberprüfung deaktiviert haben auf der Netzwerkkarte für Ihre NAT-Box, kein NATting-Spaß ohne sie. (Ich weiß, dass du das schon hast, aber es ist wirklich wichtig, also fügen Sie es für einige zukünftige Zuschauer hinzu)

  • Stellen Sie sicher, dass ausgehende Pakete wissen, wohin sie gehen sollen:

    iptables --table nat --append POSTROUTING --source 10.0.0.0/16 --destination 0.0.0.0/0 --jump MASQUERADE

  • Stellen Sie sicher, dass eingehende Pakete an 2222 gesendet werden richtig umgeleitet werden:

    iptables --table nat --append PREROUTING --protocol tcp --dport 2222 --jump DNAT --to-destination 10.0.1.243:22


Diese Beiträge haben mir sehr geholfen, AWS NAT zu verstehen. Also begann ich zu untersuchen, was iptables -t nat -A POSTROUTING -j MASQUERADE gemacht hat es hat funktioniert.

Nun, die Antwort, die ich auf die obige Aussage gefunden habe, erlaubt der NAT-Box, die NAT der „LAPTOP“-IP auf „10.0.0.54“ zu beziehen, während gleichzeitig die Ziel-NAT auf 10.0.1.243 ausgeführt wird. Zu diesem Zeitpunkt ist die private Subnet-Box eine SSH-Anforderung, die nur vom NAT-Gerät kommt. Dieser Befehl verringert tatsächlich die Sicherheit des privaten Subnetzservers. Es wird empfohlen, den folgenden Befehl zu verwenden, um den Zugriff auf das private Subnetz über ssh und die NAT-Box wie unten erwähnt zu optimieren;

iptables --table nat --append POSTROUTING --source "INTERNET IP of the Laptop" --destination 10.0.1.243 --jump MASQUERADE

Linux
  1. jp funktioniert nicht

  2. fflush() funktioniert nicht unter Linux

  3. Linux-limits.conf funktioniert nicht?

  4. Der Linux-Befehl „ll“ funktioniert nicht

  5. tmux Strg+B funktioniert nicht

Verwalten Sie AWS VPC mit aws-cli

iptables:Befehl nicht gefunden

XFS Grow funktioniert nicht

IPTables - Port zu einer anderen IP &Port (von innen)

Apache funktioniert nach dem Neustart nicht unter AWS Linux – 301-Antwortcode

Portweiterleitung unter Linux ohne iptables?