Порты Amazon-EC2 не открываются, несмотря на конфигурацию групп безопасности и iptables

Я просто арендовал сервер Amazon EC2, и сделал для узла.js приложение, которое слушает клиента на порту 9001.

Я настроил группы безопасности и добавил входящие и исходящие правила на этот порт. Брандмауэра нет (Amazon Linux), и я полностью отключил iptables.

на sudo netstat -plunta | grep LISTEN возвращает это :

tcp        0      0 0.0.0.0:22                  0.0.0.0:*                   LISTEN      2064/sshd           
tcp        0      0 127.0.0.1:25                0.0.0.0:*                   LISTEN      2104/sendmail       
tcp        0      0 0.0.0.0:9001                0.0.0.0:*                   LISTEN      3207/node           
tcp        0      0 127.0.0.1:27017             0.0.0.0:*                   LISTEN      2146/mongod         
tcp        0      0 :::80                       :::*                        LISTEN      2303/httpd          
tcp        0      0 :::22                       :::*                        LISTEN      2064/sshd       

мой узел.js приложение прослушивает этот порт и все адреса с помощью команды server.listen(9001, "0.0.0.0");

однако, a nmap сервера возвращает это:

Portscan scan report for 172.31.47.81
Host is up.
All 1000 scanned ports on 172.31.47.81 are filtered

Portscan done: 1 IP address (1 host up) scanned in 2.32 seconds

кроме того, делать было придумать мне подсказывает, что только порт 80 открыт.

если я запускаю узел.JS приложение на сервере, и сделать telnet <ip_server> 9001, он работает. Однако, если я делаю то же самое с моего персонального компьютера, я получаю ошибки тайм-аута.

Я знаю, что этот вопрос рассматривался много раз, но ни одно из решений, которые я пробовал, не сработало. Я могу пинговать сервер, использовать SSH для подключения к нему, но узел.js приложение не будет работать, и ни один из портов, которые должны быть открыты, на самом деле не работает (даже попытка подключения через браузер к веб-серверу не работает, несмотря на то, что httpd настроен с соответствующим веб-сайтом, поэтому порт 80 также не открыт).

любые идеи о том, как исправить это?

11
задан pie3636
01.05.2023 13:23 Количество просмотров материала 2367
Распечатать страницу

1 ответ

отфильтрованы все 1000 отсканированных портов на 172.31.47.81

как, собственно, они должны быть.

есть несколько диапазонов IPv4-адресов, зарезервированных для использования в частных сетях.

10.*.*.*
172.16.*.* through 172.31.*.*
192.168.*.*

любой адрес в этих диапазонах не может быть напрямую доступен через Интернет.

http://tools.ietf.org/html/rfc1918

https://www.arin.net/knowledge/address_filters.html

экземпляры EC2 всегда имеют связанный с ними частный IP-адрес, а иногда и общедоступный внешний IP-адрес. Эти внешние адреса либо динамически выделяются при запуске экземпляра из пула (и освобождаются при остановке или завершении работы экземпляра, после чего адрес возвращается в пул), либо могут быть постоянно зарезервированы клиентом и связаны / не связаны с экземплярами и сохранены для последующего повторного использования клиента (в этом случае они называются "эластичные IP-адреса.")

внутренне к развертыванию EC2 одного клиента в данном регионе (и через VPN-туннели в VPC) экземпляры могут обращаться друг к другу по их частному IP (и должны, потому что оно свободен обязанностей перехода данных)... но через Интернет, экземпляры могут быть доступны только по их общественности (a.k.a. "внешний") IP-адрес, который отображается в консоли... даже если, с точки зрения экземпляра (т. е. ifconfig, etc. единственный известный адрес-частный.

инфраструктура EC2 прозрачно выполняет преобразование сетевых адресов (NAT) между внешним открытым и внутренним частным адресами.

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

2
отвечен Michael - sqlbot 2023-05-02 21:11

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх