我有一个 Draytek 路由器配置为仅从特定 IP 地址将 SSH 连接端口转发到内部服务器。除了无法连接到我们路由器的公共静态IP地址而只能连接到其域名的客户外,我和客户都可以成功连接到外部。router.domain.com 路由器是否应该分配一个域名?不太确定为什么他们只能连接到域名而不是 ip - 建议赞赏
我有一个 Draytek 路由器配置为仅从特定 IP 地址将 SSH 连接端口转发到内部服务器。除了无法连接到我们路由器的公共静态IP地址而只能连接到其域名的客户外,我和客户都可以成功连接到外部。router.domain.com 路由器是否应该分配一个域名?不太确定为什么他们只能连接到域名而不是 ip - 建议赞赏
基于问题中的有限信息,无法确定为什么使用主机名的连接有效,但使用 IP 地址连接到同一台服务器却无效。
但是我想最可能的解释是客户端依赖 DNS64+NAT64 来连接服务器。由于 IPv4 地址用完,各种 CGN 解决方案的部署变得更加普遍。其中之一是 DNS64+NAT64,它们的限制是客户端无法通过 IP 地址连接到 IPv4 服务器。
当这样的客户端连接到仅 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。如果由于 NAT64 无法连接到 IP 地址,可能的缓解措施: