![无法从我的家庭网络访问 DDNS 主机名](https://linux22.com/image/1527144/%E6%97%A0%E6%B3%95%E4%BB%8E%E6%88%91%E7%9A%84%E5%AE%B6%E5%BA%AD%E7%BD%91%E7%BB%9C%E8%AE%BF%E9%97%AE%20DDNS%20%E4%B8%BB%E6%9C%BA%E5%90%8D.png)
我注册了一个 DDNS 域名,我可以ssh
使用手机的互联网连接访问它。但是当我尝试从我的家庭 ISP 访问它时,我收到超时错误。我8.8.8.8
在家里使用谷歌的 DNS。
有没有什么更好的 DNS 服务器或其他东西的想法,以便我可以从家庭网络连接?
答案1
问题可能是您的网关没有“正确”(见仁见智)重写源 IP,因为它正在将数据包“转发”到内部服务器的外部 (DDNS) IP。有时这被称为“发夹 NAT”或“环回 NAT”,并且这篇文章提供了更完整的解释。
对此的一个解决方案(有些人可能会说是解决方法)是水平分割 DNS对于您的内部网络(关于这方面有很多帖子,包括这个可能会有帮助)。也就是说,不要依赖 Google 的 DNS,而是在本地设置自己的 DNS 服务器,为内部服务器提供不同的(内部)IP 地址。这样,流量就不会流向通过 DDNS 注册的外部地址。
答案2
如果你执行nslookup命令 完全限定域名从您的家庭系统(使用 IP 地址为 8.8.8.8 的 Google DNS 服务器)返回正确的 IP 地址吗?例如。nslookup myddns_address.example.com
即,您是否获得了正确的 IP 地址,但无法与系统建立 SSH 连接?从您的帖子中,我不确定超时是针对 SSH 连接还是 nslookup。如果是针对 nslookup,您可以从家庭系统查找其他系统的 IP 地址吗?例如,是否nslookup superuser.com
返回 IP 地址?如果您遇到 SSH 连接问题,尽管 nslookup 返回了正确的 IP 地址,您是否知道 SSH 服务器是否限制了与特定 IP 地址或地址范围的连接?