4

У меня проблемы с получением SSH на работу. Я использую нестандартный порт (9876). Я проверил IP-адрес своего сервера как с помощью внешнего сайта типа whatismyip, так и с помощью curl ifconfig.me , оба дают одинаковый результат.

Если я делаю это с сервера:

ssh -p 9876 localhost

оно работает.

Если я сделаю это:

ssh -p 9876 127.0.0.1

это также работает.

Но если я сделаю это:

ssh -p 9876 143.76.123.94

Я получаю сообщение об ошибке "Отказано в соединении". (Обратите внимание, что приведенный выше пример ip отличается от реального адреса.) Если я пытаюсь подключиться с удаленной машины в другой сети, я получаю сообщение об ошибке "сеть недоступна", хотя я могу пропинговать ее с той же удаленной машины.

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

Дополнительные примечания

Обратите внимание, что я могу пропинговать адрес, о котором идет речь, поэтому, если я могу пропинговать его, то это "достижимо", верно? Как получается, что он доступен для ping, а не для ssh или telnet?

1 ответ1

3

Хотя ходят слухи о том, что COMCAST блокирует входящие соединения с помощью "проверки пакетов с отслеживанием состояния", я обнаружил, что смог подключить свою машину извне и что изначально я был заблокирован маршрутизатором, который, как я думал, был мостом, но на самом деле работал на NAT. Для людей, которые могут иметь подобные проблемы, подробности ниже ...

Моя ситуация заключалась в том, что я подключил соединение с кабельного модема к Airport Express, который выполнял роль концентратора для соединения с Linux-боксом, работающим на SSH-сервере. Я думал, что Аэропорт находится в режиме моста (то есть пропускает весь трафик), но на самом деле это был режим NAT, который блокирует весь входящий трафик.

Для решения проблемы я сделал исключение в аэропорту. Сначала я должен был создать специальный DHCP-фильтр для сервера, который жестко кодирует MAC-адрес сервера по внутреннему IP-адресу, который я выбрал, затем мне пришлось открыть порт NAT 9876 (порт, который я использую для SSH) на NAT и указать его на IP-адрес, который я выбрал для сервера. После этого это сработало.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .