这个问题最近让我抓狂不已。
我使用动态 DNS 连接到家庭服务器。我们称之为动态主机my.home.net
。我使用 ddclient 每隔几分钟更新一次 DNS 记录,然后通过 SSH 访问我的机器。非常标准。当我外出时,这很有效,但当我在家庭网络内时,我无法使用动态主机地址访问我的服务器。
结果是,我经常发现自己需要配置两次。例如,我的服务器上有 git repos,最后我添加了两个远程服务器,一个用于通过外部访问,my.home.net
另一个用于通过本地 IP 地址进行内部访问。
这很烦人,所以我希望能修复它。有东西告诉我这是我的 DSL 路由器的 DNS 实现的错误,但我不确定。我在路由器设置中四处寻找,但没有找到任何可以提供帮助的东西。
有人遇到过同样的问题吗?您知道解决方法吗?
谢谢!
答案1
路由器通常不会路由回内部服务器。如果您的服务器运行 DD-WRT 或类似的操作系统,您可能能够启用发夹路由来执行此操作。您的路由器可能允许您配置启用发夹路由的路由回路由。
您的路由器可能会将 DNS 请求转发给您的动态 DNS 提供商。有些路由器允许您配置本地条目,在这种情况下,您可以使用服务器的内部 IP 地址配置所连接的域。
我通常运行一个内部 DNS 服务器,它提供我的服务器的真实(内部)IP 地址。 bind
可能有点过头了,我经常使用dnsmasq
它,因为它在 Linux/Unix 平台上易于设置和运行。Windows 也有类似的选项。应更新路由器上的 DNS 设置以使用此服务器而不是默认服务器。可以配置 DHCP 以将内部 DNS 服务器指定为默认服务器。
答案2
我在自己的网络内访问家庭服务器时也遇到了类似的问题。我的路由器似乎拒绝了任何具有自己 IP 地址的来源的连接。我通过使用 VPN(在我的情况下是私人互联网接入)解决了这个问题。当我激活 VPN 时,我能够通过 DNS 名称访问我的家庭服务器。