Подтвердить что ты не робот

Как подключиться к внешнему миру от amazon vpc?

У меня есть amazon VPC, установленный мастером как "общедоступная сеть", поэтому все мои экземпляры находятся в общедоступной подсети.

Экземпляры внутри VPC, которым назначено Elastic IP, подключены к Интернету без каких-либо проблем.

Но экземпляры без эластичного IP не могут подключиться нигде.

Имеется интернет-шлюз. Таблица маршрутов в консоли aws выглядит как

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

и маршрут из внутреннего экземпляра показывает

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

Я попытался открыть ВСЕ входящий и исходящий трафик до 0.0.0.0/0 в группе безопасности, к которой принадлежит экземпляр. Все еще нет успеха.

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

Что еще я могу сделать?

4b9b3361

Ответ 1

Похоже, что единственный способ выйти из экземпляров, у которых нет Elastic IP, - это:

  • добавьте NAT (запустите дополнительный экземпляр m1.small из ami-vpc-nat-beta) и назначьте ему EIP
  • Создайте дополнительную подсеть, которая будет "private"
  • Переместить не-EIP-экземпляры в эту приватную подсеть
  • Изменить таблицы маршрутов: 0.0.0.0/0 из частной подсети следует перейти на NAT

Итак, просто добавить NAT недостаточно. Экземпляры должны быть остановлены и перенесены на другой IP-адрес из другой подсети.

Ответ 2

Документы сообщают, что вы должны добавить NAT Instance

Ответ 3

Q. Как экземпляры без EIP доступа к Интернету?

Экземпляры без EIP могут получить доступ к Интернету одним из двух способов Экземпляры без EIP могут маршрутизировать свой трафик через экземпляр NAT для доступа к Интернету. Эти экземпляры используют EIP NAT чтобы пройти через Интернет. Экземпляр NAT допускает исходящий но не позволяет машинам в Интернете инициировать подключение к частным адресам с использованием NAT и

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

Подробные инструкции о том, как настроить пример nat, можно найти здесь: http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_NAT_Instance.html enter image description here

Ответ 4

Или создайте экземпляр NAT в общедоступном VPC и добавьте статический маршрут к этому экземпляру NAT

route add -net 0.0.0.0 netmask 0.0.0.0 gw 10.0.0.5 eth0

где 10.0.0.5 - ваш nat-экземпляр, просто убедитесь, что ваша группа безопасности, которая содержит экземпляр NAT, может принимать внутренний трафик из ящиков, требующих доступа в Интернет.

Ответ 5

Вы можете сделать это на любом экземпляре вашего VPC, который имеет EIP. Несколько инструкций, которые я описал здесь, должны вам помочь. BTW: не забудьте отключить источник /dest. проверить

Ответ 6

Вы проверили сетевой ACL в подсети?

Перекрестите группы безопасности для правил.

Таблица маршрутов выглядит нормально. Он должен работать.

Ответ 7

Все, что нужно сделать для устранения этой проблемы, заключается в отключении "проверки источника/места назначения" для экземпляра, который вы настроили для NAT. Это можно сделать в консоли AWS в разделе "Действия экземпляра".

Ссылка

Ответ 8

Это работает для меня:

  • Подпрограмма VPC 172.20.0.0/16
  • EC2 "nat" шлюз 172.20.10.10 с EIP

Сделать:

  • Установить отключенный источник /dest. проверьте свой "nat gw"
  • создать новую подсеть "nat-sub" ex: 172.20.222.0/24
  • изменить маршрут 0.0.0.0/0 до 172.20.10.10 (мой nat gw) для "nat-sub"
  • создать EC2, используя "nat-sub"
  • на вашем шлюзе nat с правами 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

если он работает, добавьте две строки в/etc/rc.local

Ответ 9

Группы безопасности → Исходящие

*   ALL Traffic ALL     ALL     0.0.0.0/0   Allow

Пожалуйста, позвольте Outbound, если вы хотите подключиться к внешним серверам, например google.com или даже хотите обновить обновление sudo apt-get

Вы можете разрешить исходящие с помощью интерфейсов безопасности AWS goto → Исходящие

Убедитесь, что вы выбрали нужную группу для своего экземпляра AWS

Ответ 10

У них есть относительно новый продукт под названием NAT-шлюз, который делает именно это, создает управляемый NAT-экземпляр на краю ваших пабов/частных подсетей.