我有一个Draytek路由器配置为将SSH连接从特定ip地址转发到内部服务器。除了不能连接到我们路由器的公共静态ip地址,但只能连接到它的域名之外,客户端和我自己可以成功地进行外部连接。router.domain.com路由器是否应该指定一个域名?不太清楚他们为什么只能连接到域名,而不能连接ip -建议。
发布于 2016-03-31 13:07:52
基于问题中有限的信息,无法确定为什么使用主机名的连接工作,但使用IP地址连接到同一台服务器却不起作用。
不过,我想最有可能的解释是客户端依赖于DNS64+NAT64来连接到服务器。自从IPv4地址耗尽后,各种CGN解决方案的部署变得更加普遍。其中一个是DNS64+NAT64,它的局限性是客户端不能通过IP地址连接到IPv4服务器。
当这样的客户端连接到仅使用IPv4 4的服务器时,会发生什么情况:
server.example.com发送AAAA查询server.example.com发送AAAA查询server.example.com查询192.0.2.1进行响应192.0.2.1转换为64:ff9b::192.0.2.164:ff9b::192.0.2.164:ff9b::192.0.2.1转换为192.0.2.1如果客户端是OpenSSH,则可以在客户端使用ssh -v查看它连接到的IP地址。如果服务器仅为IPv4,并且当给定主机名时客户端连接到IPv6地址,则您将知道客户机依赖于DNS64+NAT64。
如果由于NAT64无法连接到IP地址,则可能出现以下缓解:
https://serverfault.com/questions/767311
复制相似问题