Невозможно подключиться по Telnet к удаленному хосту, но можно подключиться по Telnet локально (порты 110,143,993,995)

Невозможно подключиться по Telnet к удаленному хосту, но можно подключиться по Telnet локально (порты 110,143,993,995)

Я уже слишком долго пытаюсь настроить почтовый сервер с помощью PostFix и DoveCot на Ubuntu 14.04, и теперь я на финишной прямой — все работает.

Я использую виртуальную машину с Ubuntu, у меня настроена переадресация портов на мою виртуальную машину на всех портах для imap/pop (110,143,993,995).

Если я выполню команду «telent localhost» на любом из перечисленных выше портов, я смогу подключиться.

root@ubuntu:/# telnet localhost 110
Trying ::1...
Connected to localhost.
Escape character is '^]'.
+OK Dovecot (Ubuntu) ready.

root@ubuntu:/# telnet localhost 143
Trying ::1...
Connected to localhost.
Escape character is '^]'.
* OK [CAPABILITY IMAP4rev1 LITERAL+ SASL-IR LOGIN-REFERRALS ID ENABLE IDLE     STARTTLS AUTH=PLAIN AUTH=LOGIN] Dovecot (Ubuntu) ready. 
a1 login < username > < password >
a1 OK [CAPABILITY IMAP4rev1 LITERAL+ SASL-IR LOGIN-REFERRALS ID ENABLE IDLE SORT SORT=DISPLAY THREAD=REFERENCES THREAD=REFS THREAD=ORDEREDSUBJECT MULTIAPPEND URL-PARTIAL CATENATE UNSELECT CHILDREN NAMESPACE UIDPLUS LIST-EXTENDED I18NLEVEL=1 CONDSTORE QRESYNC ESEARCH ESORT SEARCHRES WITHIN CONTEXT=SEARCH LIST-STATUS SPECIAL-USE BINARY MOVE] Logged in

root@ubuntu:/# telnet localhost 993
Trying ::1...
Connected to localhost.
Escape character is '^]'.

root@ubuntu:/# telnet localhost 995
Trying ::1...
Connected to localhost.
Escape character is '^]'.

как только я пытаюсь сделать это через публичный IP, происходит сбой:

root@ubuntu:/# telnet < my domain > 110
Trying < ip of my computer that has port forwarding to my vm >...
telnet: Unable to connect to remote host: Connection refused

Если я выполню команду «netstat», чтобы выяснить, что происходит на каких портах, вы можете сказать, что я слушаю на правильных портах.

root@ubuntu:/# netstat -nl4
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State   
tcp        0      0 0.0.0.0:25              0.0.0.0:*               LISTEN     
tcp        0      0 0.0.0.0:9306            0.0.0.0:*               LISTEN     
tcp        0      0 0.0.0.0:15674           0.0.0.0:*               LISTEN     
tcp        0      0 0.0.0.0:47580           0.0.0.0:*               LISTEN     
tcp        0      0 0.0.0.0:445             0.0.0.0:*               LISTEN     
tcp        0      0 0.0.0.0:9312            0.0.0.0:*               LISTEN     
tcp        0      0 0.0.0.0:993             0.0.0.0:*               LISTEN     
tcp        0      0 0.0.0.0:995             0.0.0.0:*               LISTEN     
tcp        0      0 0.0.0.0:3306            0.0.0.0:*               LISTEN     
tcp        0      0 0.0.0.0:587             0.0.0.0:*               LISTEN     
tcp        0      0 0.0.0.0:139             0.0.0.0:*               LISTEN     
tcp        0      0 127.0.0.1:61613         0.0.0.0:*               LISTEN     
tcp        0      0 0.0.0.0:110             0.0.0.0:*               LISTEN     
tcp        0      0 0.0.0.0:143             0.0.0.0:*               LISTEN     
tcp        0      0 0.0.0.0:465             0.0.0.0:*               LISTEN     
tcp        0      0 0.0.0.0:21              0.0.0.0:*               LISTEN     
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN     
tcp        0      0 0.0.0.0:15670           0.0.0.0:*               LISTEN 

#...
#... theres a few more ip's in here that I believe to be irrelevant

и наконец, просто чтобы убедиться, что это действительно Dovecot слушает...

root@ubuntu:/# netstat -antup|grep dovecot
tcp        0      0 0.0.0.0:993             0.0.0.0:*               LISTEN      104305/dovecot  
tcp        0      0 0.0.0.0:995             0.0.0.0:*               LISTEN      104305/dovecot  
tcp        0      0 0.0.0.0:110             0.0.0.0:*               LISTEN      104305/dovecot  
tcp        0      0 0.0.0.0:143             0.0.0.0:*               LISTEN      104305/dovecot  
tcp6       0      0 :::993                  :::*                    LISTEN      104305/dovecot  
tcp6       0      0 :::995                  :::*                    LISTEN      104305/dovecot  
tcp6       0      0 :::110                  :::*                    LISTEN      104305/dovecot  
tcp6       0      0 :::143                  :::*                    LISTEN      104305/dovecot 

Переадресация портов была включена на всех ранее упомянутых портах - мой брандмауэр полностью отключен, и я пытаюсь подключиться к своей машине через telnet, поэтому распространенная ошибка "Компьютер, к которому вы пытаетесь подключиться через telnet, не имеет установленного telnet" не должна относиться ко мне. А если бы и относилась - на моем macintosh также установлен telnet - так что это действительно не относится ко мне.

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

Любая помощь или понимание будут высоко оценены. Это моя первая установка почтового сервера, поэтому мои знания в этой области не являются героическими.

решение1

Вас останавливает отсутствие NAT loopback. Возможно, вы сможете включить его на своем маршрутизаторе.

решение2

Розничные модемы в США блокируют порт 25 (по закону), как и большинство домашних интернет-провайдеров. Для других служб Dovecot по умолчанию запрещает вход в систему открытым текстом (telnet) — вам необходимо изменить их:

Похожий вопрос StackExchange

Связанный контент