it-swarm.com.de

Wie kann ich von Amazon vpc aus eine Verbindung zur Außenwelt herstellen?

Ich habe Amazon VPC über den Assistenten als "Nur-öffentliches Netzwerk" festgelegt, daher befinden sich alle meine Instanzen im öffentlichen Subnetz.

Instanzen innerhalb von VPC, denen Elastic IP zugewiesen ist, stellen eine Verbindung zum Internet ohne Probleme her.

Instanzen ohne elastische IP können sich jedoch nicht überall verbinden.

Internet-Gateway ist vorhanden. Route-Tabelle in der aws-Konsole sieht aus wie

Destination Target 
10.0.0.0/16 local
0.0.0.0/0   igw-nnnnn

und Route von innen Instanz zeigt

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
10.0.0.0        *               255.255.255.0   U     0      0        0 eth0
default         10.0.0.1        0.0.0.0         UG    100    0        0 eth0

Ich habe versucht, ALLE ein- und ausgehenden Datenverkehr in der Sicherheitsgruppe 0.0.0.0/0 zu öffnen, zu der eine Instanz gehört. Immer noch kein Erfolg.

~$ ping google.com
PING google.com (74.125.224.36) 56(84) bytes of data.
^C
--- google.com ping statistics ---
6 packets transmitted, 0 received, 100% packet loss, time 5017ms

Was kann ich sonst noch tun?

51
Andrey Regentov

Es scheint, dass der einzige Weg, um aus Instanzen herauszukommen, die keine elastische IP-Adresse haben, die folgende ist:

  • fügen Sie eine NAT hinzu (Starten Sie eine zusätzliche m1.small-Instanz von AMI-vpc-nat-beta) und weisen Sie ihr EIP zu
  • Erstellen Sie ein zusätzliches Subnetz, das "privat" sein wird
  • Verschieben Sie Nicht-EIP-Instanzen in dieses private Subnetz
  • Routentabellen ändern: 0.0.0.0/0 aus dem privaten Subnetz sollte zu NAT gehen

Das Hinzufügen von NAT reicht also nicht aus. Instanzen sollten gestoppt und von einem anderen Subnetz auf eine andere IP-Adresse verschoben werden.

54
Andrey Regentov

Die Dokumente sagen, Sie sollten eine NAT -Instanz hinzufügen

11
aldrinleal

Q. Wie greifen Instanzen ohne EIPs auf das Internet zu?

Instanzen ohne EIPs können auf zwei Arten auf das Internet zugreifen: __. Instanzen ohne EIPs können ihren Verkehr über eine Instanz von NAT leiten auf das Internet zugreifen. Diese Instanzen verwenden die EIP des NAT Instanz, um das Internet zu durchqueren. Die NAT -Instanz lässt ausgehende Kommunikation, ermöglicht jedoch nicht, dass Computer im Internet initiiert werden eine Verbindung zu den privat adressierten Maschinen über NAT und

http://aws.Amazon.com/vpc/faqs/

Detaillierte Anweisungen zum Einrichten einer nat-Instanz finden Sie hier: http://docs.aws.Amazon.com/AmazonVPC/latest/UserGuide/VPC_NAT_Instance.htmlenter image description here

9
Moriarty

Oder erstellen Sie eine NAT - Instanz in der öffentlichen VPC und fügen Sie dieser NAT - Instanz eine statische Route hinzu

route add -net 0.0.0.0 Netzmaske 0.0.0.0 gw 10.0.0.5 eth0

dabei ist 10.0.0.5 Ihre nat-Instanz. Stellen Sie nur sicher, dass Ihre Sicherheitsgruppe, die die Instanz NAT enthält, internen Datenverkehr von den Boxen akzeptieren kann, für die Sie Internetzugang benötigen

4
clarky

Sie können dies für jede Instanz in Ihrer VPC tun, die über EIP verfügt. Da sind einige Anweisungen, die ich mit here beschrieben habe. BTW: Vergiss nicht, Quelle/Ziel zu deaktivieren. prüfen

2
Victor Perov

Sie haben ein relativ neues Produkt namens NAT - Gateway, das genau dies tut und eine verwaltete NAT - Instanz am Rand Ihrer öffentlichen/privaten Subnetze erstellt.

0
rajat banerjee

Sicherheitsgruppen -> Outbound

*   ALL Traffic ALL     ALL     0.0.0.0/0   Allow

Outbound zulassen, wenn Sie sich mit externen Servern wie google.com Verbinden möchten oder sogar ein Update durchführen möchten - Sudo apt-get update

Sie können den Ausgang mithilfe des AWS-Frontends unter Sicherheitsgruppen -> Ausgehend zulassen

Stellen Sie sicher, dass Sie die richtige Gruppe für Ihre AWS-Instanz auswählen

0
Manu R S

Haben Sie die Netzwerk-ACL im Subnetz überprüft?

Überprüfen Sie die Sicherheitsgruppen auf Regeln. 

Die Streckentabelle sieht gut aus. Es sollte funktionieren.

0
Ravi Shankar

Das funktioniert bei mir mit:

  • VPC-Subnetz 172.20.0.0/16
  • EC2 "nat" Gateway 172.20.10.10 mit EIP

Machen :

  • Deaktivierte Quelle/Ziel festlegen überprüfe deine "nat gw"
  • erstellen Sie ein neues "nat-sub" -Subnetz ex: 172.20.222.0/24
  • route 0.0.0.0/0 in 172.20.10.10 (my nat gw) für "nat-sub" ändern
  • erstellen Sie eine EC2 mit "nat-sub"
  • versuchen Sie auf Ihrem Nat-Gateway als root:

root @ gw: ~ # sysctl -q -w net.ipv4.ip_forward = 1 net.ipv4.conf.eth0.send_redirects = 0

root @ gw: ~ # iptables -t nat -C POSTROUTING -o eth0 -s 172.20.222.0/24 -j MASQUERADE 2>/dev/null || iptables -t nat -A POSTROUTING -o eth0 -s 172.20.222.0/24 -j MASQUERADE

wenn dies funktioniert, fügen Sie diese beiden Zeilen in /etc/rc.local hinzu

0
Yann L.

Um dieses Problem zu beheben, müssen Sie lediglich die "Quell-/Zielprüfung" für die Instanz deaktivieren, die Sie für NAT konfiguriert haben. Dies kann in der AWS-Konsole unter "Instanzaktionen" durchgeführt werden.

Referenz

0
Mike Cron

Instanzen ohne EIPs können auf zwei Arten auf das Internet zugreifen. Instanzen ohne EIPs können ihren Verkehr über eine NAT - Instanz leiten, um auf das Internet zuzugreifen. Diese Instanzen verwenden die EIP der NAT - Instanz, um das Internet zu durchlaufen. Die Instanz von NAT ermöglicht die ausgehende Kommunikation, ermöglicht jedoch nicht, dass Computer im Internet über NAT eine Verbindung zu den privat adressierten Computern herstellen können.

https://docs.aws.Amazon.com/vpc/latest/userguide/VPC_NAT_Instance.html

0
Ankireddy Polu