Проблемы с подключением к моему домашнему SSH-соединению
ОС: Ubuntu Budgie Remix 16.04
uname -a: Linux midgard 4.8.0-54-generiC#57~16.04.1-Ubuntu SMP Ср 24 мая 16:22:28 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
Это кажется довольно простым, но я перепробовал множество вещей, и это не работает. Вот подробности.
Ситуация: я запускаю sshd на порту 3791 на своем домашнем соединении (чтобы избежать простого сканирования сети, пытаюсь найти очевидные демоны ssh)
sudo /usr/sbin/sshd -D -p 3791
Проблема: нет подключения
albion@midgard:~$ ssh {myIPv4OrIPv6} -p 3791 -v
OpenSSH_7.2p2 Ubuntu-4ubuntu2.2, OpenSSL 1.0.2g 1 Mar 2016
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 19: Applying options for *
debug1: Connecting to {myIPv4OrIPv6} port 3791.
debug1: connect to address {myIPv4OrIPv6} port 3791: Connection timed out
ssh: connect to host {myIPv4OrIPv6} port 3791: Connection timed out
Вещи, которые я проверил:
- Я nmap'ed localhost и могу видеть открытый порт
- Я ssh'd в localhost и могу успешно войти в систему
- Проверил iptables ('sudo iptables -L') на любые правила и ничего нет.
- Также на всякий случай отключен ufw, выполняющий 'sudo systemctl stop ufw'.
- Мой маршрутизатор настроен так, чтобы разрешить переадресацию портов на порт 3791 на адрес моей локальной сети (192.168.0.2) на том же порту.
- Я отключил параметры межсетевого экрана на уровне маршрутизатора.
- Позвонил моему интернет-провайдеру, чтобы проверить, есть ли у них какие-либо идеи и, конечно же, нет.
Кто-нибудь может придумать что-нибудь, что стоит проверить? Любопытно, что я могу пинговать и получать ответ, когда я пингую свой IPv4, но я не получаю никаких ответов, когда я пингую свой IPv6. Это может быть не связано, но думал, что я упомяну.
1 ответ
Выделив ответ @ Steeldriver, я думаю, он был правильным.
Очевидно, проблема заключается в том, что мои маршрутизаторы не поддерживают петлю NAT: https://en.wikipedia.org/wiki/Network_address_translation
Похоже, это связано с тем, что я МОГУ подключиться к своему компьютеру с других компьютеров в сети, если они используют внутренний IP-адрес локальной сети (например, 192.168.0.2), а также внешне, если они используют мой IPv6 IP.
Итак, решение таково:
1) При подключении из одной и той же сети используйте IP-адрес локальной сети (или локальный хост, если используется то же устройство). 2) При подключении извне используйте адрес IPv6 (если он предоставлен вашим провайдером) или IPv4 (при условии, что вы установили). правила переадресации портов).
Спасибо @steeldriver!