У меня есть маршрутизатор Draytek, настроенный для перенаправления SSH-соединений на внутренний сервер только с определенных IP-адресов. Мы с клиентами можем успешно подключаться извне, за исключением того, кто не может подключиться к общедоступному статическому IP-адресу нашего маршрутизатора, а только к его доменному имени. router.domain.com Должен ли маршрутизатор иметь назначенное ему доменное имя ?? Не совсем уверен, почему они могут подключаться только к доменному имени, а не к ip - совет оценен
Основываясь на ограниченной информации в вопросе, невозможно точно сказать, почему подключение с использованием имени хоста работает, но подключение к тому же самому серверу с использованием IP-адреса не работает.
Однако я предполагаю, что наиболее вероятным объяснением является то, что клиент зависит от DNS64 + NAT64 для подключения к серверу. Поскольку адреса IPv4 закончились, развертывание различных типов решений CGN стало более распространенным. Один из них - DNS64 + NAT64, и у них есть ограничение, заключающееся в том, что клиенты не могут подключаться к серверам IPv4 по IP-адресу.
Что произойдет, когда такой клиент подключится к серверу, поддерживающему только IPv4, следующее:
server.example.com
server.example.com
server.example.com
192.0.2.1
192.0.2.1
в 64:ff9b::192.0.2.1
64:ff9b::192.0.2.1
64:ff9b::192.0.2.1
к 192.0.2.1
Если клиент - OpenSSH, вы можете использовать ssh -v
на стороне клиента, чтобы узнать, к какому IP-адресу он подключается. Если сервер поддерживает только IPv4, а клиент подключается к IPv6-адресу, когда ему задано имя хоста, вы будете знать, что клиент зависит от DNS64 + NAT64.
Возможные меры, если вы не можете подключиться к IP-адресу из-за NAT64: