首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >通过域名连接SSH端口22,但不连接公共ip地址

通过域名连接SSH端口22,但不连接公共ip地址
EN

Server Fault用户
提问于 2016-03-31 11:59:46
回答 1查看 1.7K关注 0票数 2

我有一个Draytek路由器配置为将SSH连接从特定ip地址转发到内部服务器。除了不能连接到我们路由器的公共静态ip地址,但只能连接到它的域名之外,客户端和我自己可以成功地进行外部连接。router.domain.com路由器是否应该指定一个域名?不太清楚他们为什么只能连接到域名,而不能连接ip -建议。

EN

回答 1

Server Fault用户

回答已采纳

发布于 2016-03-31 13:07:52

基于问题中有限的信息,无法确定为什么使用主机名的连接工作,但使用IP地址连接到同一台服务器却不起作用。

不过,我想最有可能的解释是客户端依赖于DNS64+NAT64来连接到服务器。自从IPv4地址耗尽后,各种CGN解决方案的部署变得更加普遍。其中一个是DNS64+NAT64,它的局限性是客户端不能通过IP地址连接到IPv4服务器。

当这样的客户端连接到仅使用IPv4 4的服务器时,会发生什么情况:

  • 客户端为server.example.com发送AAAA查询
  • DNS64服务器为server.example.com发送AAAA查询
  • 权威服务器发送NOANSWER。
  • DNS64服务器发送server.example.com查询
  • 权威服务器使用192.0.2.1进行响应
  • DNS64将192.0.2.1转换为64:ff9b::192.0.2.1
  • 客户端在地址NAT64上连接64:ff9b::192.0.2.1
  • NAT64将64:ff9b::192.0.2.1转换为192.0.2.1

如果客户端是OpenSSH,则可以在客户端使用ssh -v查看它连接到的IP地址。如果服务器仅为IPv4,并且当给定主机名时客户端连接到IPv6地址,则您将知道客户机依赖于DNS64+NAT64。

如果由于NAT64无法连接到IP地址,则可能出现以下缓解:

  • 在服务器上启用IPv6,并在当前A记录旁边创建AAAA记录。客户机现在可以直接连接到服务器的IPv6地址。即使客户机继续使用主机名连接,这也是首选方法,因为它将消除对NAT64的依赖。
  • 保持原样。您说过使用服务器主机名的连接可以工作。因此,DNS64+NAT64正在按预期工作,不需要立即进行任何更改。在大多数情况下,使用主机名的连接被认为比直接连接到IP地址更好,因此没有真正的理由停止使用主机名。
  • 让客户端使用主机名进行一次连接,以了解DNS64映射到的DNS64地址,然后使用该IPv6地址继续通过NAT64进行连接。(起作用,但似乎有点傻)
  • 让客户端使用NAT464。这是一种解决方案,适用于客户端软件只支持IPv4但客户端连接到IPv4 6专用访问网络的情况。但是,如果主机名连接已经正常工作,那么您不需要NAT464,最好使用其他解决方案之一。
票数 2
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/767311

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档