Я только начинаю работать с AWS, и у меня есть 2 экземпляра ec2, запущенных на VPC, один с общедоступным и частным IP-адресом, а другой - только с частным IP.
Я могу использовать SSH для обоих (используя свой ключ), если я присоединю к ним внешний IP-адрес.
Я могу SSH с сервера 1 на сервер 2 (если я скопирую ключ pem на сервер 1)
Сервер 2 Я хочу использовать только частный IP-адрес, а сервер 1 имеет общедоступный IP-адрес и NAT для сервера 2. Я пытаюсь следовать руководству Вот aws показывает, что частный адрес сервера 2 - 10.0.0.18 (сервер 1 - 10.0.0.63)
На сервере 1 я добавил ..
sudo iptables -t nat -A PREROUTING -p tcp --dport 10235 -j DNAT --to-destination 10.0.0.18:22
если я смотрю на таблицы, я вижу ...
1 DNAT tcp -- anywhere anywhere tcp dpt:10235 to:10.0.0.18:22
А если посмотреть пакеты для iptables ...
iptables -L -v -t nat
Chain PREROUTING (policy ACCEPT 1 packets, 40 bytes)
pkts bytes target prot opt in out source destination
10 600 DNAT tcp -- any any anywhere anywhere tcp dpt:10235 to:10.0.0.18:22
Я пытаюсь связаться с ...
ssh -i mykeyfile.pem -p 10235 user@<server1domain>
Всякий раз, когда я пытаюсь, я вижу, что количество пакетов на сервере 1 увеличивается, но я никогда не получаю ответа. Я разрешил порты 10234, 5 и 22 в группе безопасности.
Группа безопасности отображается как ..
Custom TCP Rule TCP 10234 - 10240 0.0.0.0/0
ssh -vvv не дает ничего полезного, просто висит сообщение `` подключение к порту myhost 10235.
Как уже упоминалось, если я связываю общедоступный IP-адрес и подключаюсь к нему, все работает, но я не могу заставить его работать через NAT?
Если вы пытаетесь подключиться извне VPC к экземпляру, используя только частный IP-адрес, это не удастся. Вам нужно настроить свой экземпляр с общедоступным IP-адресом, чтобы он также был VPN (попробуйте OpenVPN AS), а затем разрешите доступ по ssh таким образом.
Если вы пытаетесь использовать SSH с сервера 2 (только частный IP) на сервер 1 (общедоступный / частный), вам может потребоваться также добавить таблицу маршрутов или группу безопасности, а также убедиться, что VPC может обрабатывать трафик NAT / PAT:
И настроим его на запуск (ubuntu):
sed -i '$ i '"/usr/local/sbin/configure-pat.sh"'' /etc/rc.local'