Amazon VPC est défini dans l'Assistant en tant que "réseau public uniquement", de sorte que toutes mes instances sont dans un sous-réseau public.
Les instances dans VPC auxquelles Elastic IP est attribué se connectent à Internet sans aucun problème.
Mais les instances sans IP élastique ne peuvent se connecter nulle part.
La passerelle Internet est présente. La table de routage dans la console aws ressemble à
Destination Target
10.0.0.0/16 local
0.0.0.0/0 igw-nnnnn
et route à partir de l'instance montre
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
J'ai essayé d'ouvrir TOUT le trafic entrant et sortant à 0.0.0.0/0 dans le groupe de sécurité auquel appartient une instance. Toujours pas de succès.
~$ 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
Que puis-je faire d'autre?
Il semble que le seul moyen de sortir des instances qui ne possèdent pas Elastic IP est:
Il ne suffit donc pas d'ajouter NAT. Les instances doivent être arrêtées et déplacées vers une autre IP depuis un autre sous-réseau.
La documentation indique que vous devez ajouter un NAT Instance
Q. Comment les instances sans EIP ont-elles accès à Internet?
Les instances sans EIP peuvent accéder à Internet de deux manières Les instances sans EIP peuvent acheminer leur trafic via une instance NAT Accéder à internet. Ces instances utilisent l'EIP du NAT exemple de parcourir Internet. L'instance NAT autorise les sorties communication, mais ne permet pas aux machines sur Internet de lancer une connexion aux machines à adresse privée utilisant NAT, et
http://aws.Amazon.com/vpc/faqs/
Vous pouvez trouver des instructions détaillées sur la configuration d'une instance de nat ici: http://docs.aws.Amazon.com/AmazonVPC/latest/UserGuide/VPC_NAT_Instance.html
Ou créez une instance NAT dans le VPC public et ajoutez une route statique à cette instance NAT
route add -net 0.0.0.0 masque de réseau 0.0.0.0 gw 10.0.0.5 eth0
où 10.0.0.5 est votre instance nat, assurez-vous simplement que le groupe de sécurité qui contient l'instance NAT peut accepter le trafic interne des boîtes pour lesquelles vous avez besoin d'un accès Internet
Vous pouvez le faire sur n'importe quelle instance de votre VPC, qui a EIP. Il y a peu d'instructions que j'ai décrites ici devraient vous aider. BTW: n'oubliez pas de désactiver source/dest. vérifier
Ils ont un produit relativement nouveau appelé passerelle NAT qui fait exactement cela, crée une instance NAT gérée au niveau du bord de vos sous-réseaux pub/privé.
Groupes de sécurité -> Sortants
* ALL Traffic ALL ALL 0.0.0.0/0 Allow
Veuillez autoriser Sortant, si vous souhaitez vous connecter à des serveurs externes tels que google.com Ou même mettre à jour Sudo apt-get update
Vous pouvez autoriser le trafic sortant à l'aide d'AWS front-end goto Security Group -> Outbound
Assurez-vous de sélectionner le bon groupe pour votre instance AWS.
Avez-vous vérifié la liste de contrôle d'accès réseau sur le sous-réseau?
Vérifiez les règles des groupes de sécurité.
La table de routage a l'air bien. Ça devrait marcher.
Cela fonctionne pour moi avec:
Faire :
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
si cela fonctionne, ajoutez ces 2 lignes dans /etc/rc.local
Pour résoudre ce problème, il suffit de désactiver la "vérification source/destination" pour l'instance que vous avez configurée pour effectuer un NAT. Cela peut être fait dans la console AWS, sous "Actions d'instance".
Les instances sans EIP peuvent accéder à Internet de deux manières. Les instances sans EIP peuvent acheminer leur trafic via une instance NAT pour accéder à Internet. Ces instances utilisent l'EIP de l'instance NAT pour parcourir Internet. L’instance NAT autorise les communications sortantes mais n’autorise pas les ordinateurs connectés à Internet à établir une connexion avec les ordinateurs à adresse privée utilisant NAT.
https://docs.aws.Amazon.com/vpc/latest/userguide/VPC_NAT_Instance.html