
У меня есть экземпляр EC2 в группе безопасности, которая разрешает порты 80, 443 и 22 (tcp, входящие с 0.0.0.0/0 и ::/0); и все исходящие соединения (к 0.0.0.0/0 и ::/0, все tcp и udp).
Недавно я настроил почтовый сервер, поэтому добавил порт 25/tcp из 0.0.0.0/0, а также ::/0.
Теперь я могу подключаться к своему почтовому серверу с любого внешнего хоста, используя публичный IP-адрес, как и ожидалось, никаких проблем.
Я также могу подключиться изнутри экземпляра, используя localhost
в качестве имени хоста или 127.0.0.1 в качестве IP-адреса.
Но я не могу подключиться к экземпляру на порту 25 изнутри экземпляра, используя его публичный IP или имя хоста. Я не получаю отказ в подключении или что-то в этом роде, просто тайм-аут.
У меня нет этой проблемы ни с одним из других открытых портов в экземпляре, я могу без проблем подключиться по telnet к порту 80, 443 или 22, используя публичный IP-адрес в оболочке экземпляра.
Я пробовал перезагружать, останавливать/запускать и даже создавать новую группу безопасности с нуля и переключать экземпляр на нее. Результат тот же: внешние соединения в порядке, внутреннее соединение с использованием публичного IP не работает только на этом порту.
iptables выглядит нормально, я не вижу никаких ограничений или разрешений, которые могли бы повлиять на этот порт и не повлиять на другие.
На этом экземпляре не включен брандмауэр (Debian buster)
Почтовый сервер — Postfix (не знаю, имеет ли это какое-либо значение. Если это действительно проблема конфигурации Postfix, то я озадачен тем, что не вижу ничего в журналах сервера, хотя он разрешает все остальные источники подключений...)
решение1
Но я не могу подключиться к экземпляру на порту 25 изнутри экземпляра, используя его публичный IP или имя хоста. Я не получаю отказ в подключении или что-то в этом роде, просто тайм-аут.
Amazon EC2 не разрешает исходящий SMTP-трафик от экземпляров (если вы не подали заявку и не получили исключение для своего аккаунта). Это означает, что вы не можете получить доступ к SMTP-серверу вашего сервера — или к любому другому — по его публичному IP-адресу.
Если вам необходимо подключиться к локальному хосту, подключитесь к localhost.