我有一个Draytek路由器被configuration为端口转发SSH连接到特定的IP地址的内部服务器只。 除了无法连接到路由器的公共静态IP地址,只能连接到域名的客户端和我自己以外,可以成功连接到外部。 router.domain.com如果路由器甚至有一个域名分配给它? 不知道为什么他们只能连接到域名而不是IP – build议表示赞赏
根据问题中的有限信息,无法确定使用主机名连接的原因,但使用IP地址连接到同一台服务器不起作用。
不过我想最可能的解释是客户端是依赖于DNS64 + NAT64为了连接到服务器。 由于IPv4地址耗尽,各种CGN解决scheme的部署变得越来越普遍。 其中之一是DNS64 + NAT64,这些客户端无法通过IP地址连接到IPv4服务器。
当这样的客户端连接到一个IPv4的服务器时会发生什么:
server.example.com AAAA查询 server.example.com AAAA查询 server.example.com的查询 192.0.2.1 192.0.2.1转换为64:ff9b::192.0.2.1 64:ff9b::192.0.2.1上的NAT64 64:ff9b::192.0.2.1 64:ff9b::192.0.2.1为192.0.2.1 如果客户端是OpenSSH,则可以在客户端使用ssh -v来查看连接到哪个IP地址。 如果服务器仅为IPv4,并且在给定主机名时客户端连接到IPv6地址,则您将知道客户端取决于DNS64 + NAT64。
如果由于NAT64而无法连接到IP地址,可能会采取缓解措施: