У меня две системы, подключенные к сети с NAT.
Когда я перенаправляю порт 22 в систему A, я могу подключиться напрямую.
Когда я перенаправляю порт 22 в систему B, я не могу подключиться.
Однако я могу подключиться по SSH из системы A в систему B.
Я попытался отключить брандмауэр в системе B.
Я немного не понимаю, что может быть не так.
Могу ли я провести тесты, чтобы определить причину проблемы?
Недостаточно информации, чтобы остановиться на конкретной проблеме; Я полагаю, что переадресация портов, о которой вы спрашиваете, находится в блоке NAT, а не функция переадресации портов SSH.
В таком случае может быть как минимум две причины такого поведения; один из них состоит в том, что блоки A и B имеют несколько IP-адресов (скажем, поле A - 10.1.1.50 и 192.168.0.50, а поле B - 10.1.1.51 и 192.168.0.51), а ssh-соединение от A до B происходит на том, что ssh сервер на B прослушивает, в то время как блок NAT находится только в другой сети (той, которую SSH-сервер на B не прослушивает). Это означает, что сервер SSH на A прослушивает обе сети, в то время как сервер на B прослушивает только сеть, в которую NAT не пересылает пакеты.
Другой причиной может быть различие в принятых протоколах шифрования / обмена ключами, в которых клиент SSH в блоке E (внешний по отношению к сети, используется для тестирования) принимает протокол шифрования P1, сервер SSH в блоке A принимает протоколы P1 и P2, Клиент SSH в блоке A принимает протоколы P1 и P2, а сервер SSH в блоке B принимает только протокол P2. В этом случае я считаю, что сообщение об ошибке может отличаться от сообщения в случае невозможности подключения, но опять же я не знаю задействованное программное обеспечение.
Добавьте дополнительные сведения к вопросу, например адреса и программное обеспечение.
Я бы сказал, что есть еще одна возможность помимо тех, о которых упоминает Алекс, и это то, что ваш блок переадресации портов является шлюзом для системы A, но не для системы B.