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 von0.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