Я был в процессе установки сервера SSH на в других отношениях совершенно новой установке Ubuntu. Однако сервер только принимает соединения от локальной сети. Если я пытаюсь соединиться с ним через общедоступный IP-адрес, я добираюсь:
ssh: connect to host XXX.XXX.XXX.XXX port 31415: Connection refused
Я передал необходимый порт и позволил его через брандмауэр. Я могу проверить с помощью ping-запросов IP, и средство проверки порта, кажется, обнаруживает сервер, который приводит меня верить не проблема перенаправления портов.
Правила брандмауэра:
31415/tcp ALLOW Anywhere
31415/tcp (v6) ALLOW Anywhere (v6)
Netstat производят:
...
tcp 0 0 0.0.0.0:31415 0.0.0.0:* LISTEN -
tcp 0 400 10.0.0.30:31415 10.0.0.18:16669 ESTABLISHED -
...
sshd_config:
...
# What ports, IPs and protocols we listen for
Port 31415
#Use these options to restrict which interfaces/protocols sshd will bind to
#ListenAddress ::
#ListenAddress 0.0.0.0
...
Действительно ли это - проблема с моим сетевым интерфейсом? Существует ли установка, это вызывает локально-единственные соединения? Как я иду о том, чтобы вынуждать это принять удаленного дюйм/с, а также локальные?
Ответ на основе обсуждения выше. Для некоторых маршрутизаторов локальная обратная петля обрабатывается по-другому для пакетов ICMP и TCP. Поэтому маршрутизатор ответит на ping на адресе WAN, но не позволит пользователям локальной сети соединяться с портом вперед на стороне WAN.
Для тестирования теории nmap должен использоваться, чтобы проверить, что порт открыт, или соединение должно быть предпринято от удаленного адреса.
nmap -p 31415 -Pn your_internet_ip
или
переходят в http://canyouseeme.org и проверяют оттуда (который является тем, что OP сделал).