2012-04-20 19 views
51

Tengo amazon VPC configurado a través del asistente como "red pública única", por lo que todas mis instancias se encuentran en subredes públicas.¿Cómo conectarse al mundo exterior desde amazon vpc?

Las instancias dentro de la VPC que tienen Elastic IP asignado se conectan a Internet sin ningún problema.

Pero las instancias sin IP elástica no se pueden conectar a ningún lado.

El portal de Internet está presente. tabla de rutas en la consola AWS parece

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

y la ruta desde el interior ejemplo demuestra

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 

Traté de abrir todo el tráfico entrante y saliente a 0.0.0.0/0 en grupo de seguridad que pertenece a una instancia . Todavía no hay éxito

~$ 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 

¿Qué más puedo hacer?

Respuesta

53

Parece que la única manera de conseguir fuera de los casos que no tienen elástico IP es:

  • añadir un NAT (Lanzar una m1 adicional .small ejemplo, de ami-VPC-nat-beta) y asignar a ella EIP
  • Crear una subred adicional que será "privado"
  • Mover los no-EIP casos a que subred privada
  • Modificar tablas de rutas: 0.0.0.0/0 de la subred privada debe ir a NAT

Por lo tanto, solo agregar NAT no es suficiente. Las instancias deben detenerse y moverse a otra IP desde otra subred.

+1

Los documentos dicen que también debe asignar un EIP a la instancia de NAT. – dparkar

+1

De hecho, sin asignar EIP a la instancia de NAT, NO FUNCIONARÁ. Solo probado. – dparkar

+3

Por supuesto, su NAT debería tener EIP. Implicado eso. Editó la respuesta –

0

¿Comprobó la ACL de la red en la subred?

Revise los grupos de seguridad para ver las reglas.

La tabla de rutas se ve bien. Deberia de funcionar.

+2

tenga en cuenta que las preguntas se responden hace 5 meses. Tenga en cuenta que "Intenté abrir TODO el tráfico entrante y saliente a 0.0.0.0/0 en el grupo de seguridad al que pertenece una instancia. Todavía no tiene éxito". significa que no está conectado con grupos de seguridad. –

0

Todo lo que debe hacerse para solucionar este problema es desactivar la "comprobación de origen/destino" para la instancia que ha configurado para hacer NAT. Esto se puede hacer en la consola de AWS, en "Acciones de instancia".

Reference

+1

Si ha creado una instancia NAT, eso es. No está claro que el usuario lo haya hecho. –

4

O crear una instancia de NAT dentro de la VPC pública y añadir una ruta estática a esa instancia NAT

route add -net 0.0.0.0 máscara de red 0.0.0.0 gw 10.0.0.5 eth0

donde 10.0.0.5 es su instancia nat, solo asegúrese de que su grupo de seguridad que contiene la instancia NAT pueda aceptar el tráfico interno de las cajas que necesita acceso a internet

+1

Hice lo mismo, pero dañó los metadatos para las instancias con la ruta estática agregada. Metadata: http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/AESDG-chapter-instancedata.html Subred pública + EIP y sucursal privada + instancia NAT es el camino a seguir. – sayap

2

Puede hacerlo en cualquier instancia de su VPC, t sombrero tiene EIP. Hay pocas instrucciones que describí here que deberían ayudarlo. Por cierto: no olvides deshabilitar source/dest.check

+0

Sí, en realidad no es necesario tener una instancia de NAT dedicada. Cualquier instancia puede jugar este rol. –

8

Q. ¿Cómo acceden las instancias sin EIP a Internet?

instancias sin EIP pueden acceder a Internet en una de dos maneras instancias sin EIP puede enrutar su tráfico a través de una instancia de NAT para acceder a Internet. Estas instancias usan el EIP de la instancia de NAT para recorrer Internet. La instancia de NAT permite el saliente comunicación, pero no permite que las máquinas en Internet para iniciar una conexión con las máquinas en privado dirigida utilizando NAT, y

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

Usted puede encontrar instrucciones detalladas sobre cómo configurar una instancia de NAT aquí: http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_NAT_Instance.html enter image description here

0

Esto funciona para mí con:

  • VPC subred 172.20.0.0/16
  • EC2 "nat" puerta de entrada 172.20.10.10 con EIP

que hacer:

  • Establecer discapacitados origen/destino. compruebe su "nat gw"
  • cree una nueva subred "nat-sub" ex: 172.20.222.0/24
  • modifique la ruta 0.0.0.0/0 a 172.20.10.10 (my nat gw) para "nat-sub" "
  • crear una EC2 usando "NAT-sub"
  • en su pasarela NAT como root, intente:

root @ GW: ~ # sysctl -w -q = 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

si funciona, añadir este 2 líneas en /etc/rc.local

0

grupos de seguridad - > salida

* ALL Traffic ALL  ALL  0.0.0.0/0 Allow 

favor permita de salida, si desea conectarse a servidores externos como Google.com o incluso quieren Actualización: sudo apt-get update

puede permitir que el saliente usando AWS front-end Grupos Goto Seguridad -> salida

Asegúrese de seleccionar el grupo correcto para la instancia AWS

+1

No, la pregunta es sobre instancias sin IP elástica. –

0

Tienen un producto relativamente nuevo llamado puerta de enlace NAT que hace exactamente esto, crea una instancia de NAT administrada en el borde de su pub/subredes privadas.

Cuestiones relacionadas