我最近为我自己的个人需要开设了一个动态 DNS 用户(实际上没有 ip...),特别是当我需要时,可以在不知道它的静态 IP 的情况下通过 ssh 连接我的计算机。
我的问题是:
我是否误用了动态 DNS 的概念?有没有更合适的方法来实现我想要的功能?
如果没有,我该如何解析路由器的真实 IP 地址?Firefox 不知怎么就成功了,
nslookup
其他类似命令只能解析 ddns 服务器的 IP(例如no-ip.org
)。尝试使用 wireshark 解开这个谜团,但失败了 ;)
答案1
由于您的地址在 Web 浏览器中有效而在 nslookup 中无效,因此您可能设置了“Web 重定向”而不是“A”记录。
Web 重定向添加指向提供服务器该服务器使用端口转发或 HTTP 重定向将传入请求转发到您的 IP。
您不要滥用动态 DNS 的概念,它仅用于此目的(为您提供在路由器和防火墙中打开所需端口的能力)。
答案2
我使用另一项服务: 动态域名系统 但操作类似。
他们免费为您提供了其 DNS 服务器中的记录,位于其某个域下。我选择saltlake.dyndns.org
我有一条 adsl,在连接时以及在随机时间,我都会获得一个新的 ip 地址。有很多网站可以检查您的外部公共 ip 地址,例如 www.whatsmyip.org
如果我 ping 我的 DNS 记录saltlake.dyndns.org我得到了我当前的公共 IP,对的。
它是如何工作的?很简单:你必须运行一个小代理,当 IP 更改时或每隔几分钟,它就会联系 dyndns 服务器。它们会收到此数据包,看到你的新公共 IP 地址,然后更新你的 DNS 记录。
代理可以是您的路由器(许多 adsl 路由器支持 dyndns 和类似服务),或者您必须在您的操作系统上运行一个小代理。
关于 DNS 传播时间,现在比 10 年前好多了。我只需断开 Adsl 线路,重新连接,使用 whatsmyip.org 检查我的 IP 地址(它不同)即可ping saltlake.dyndns.org:我获得了新的 IP。几秒钟后,它验证了代理正在执行其工作。
啊,为了完整起见。当你 ping 免费记录时,ping 使用 dns 来查找当前 ip ... 并应用反向查询来查找与 ip 相关联的真实名称。
例如,我的 adsl 家庭线路ping saltlake.dyndns.org显示我的外部 IP,并且dynamic-adsl-62-10-39-166.clienti.tiscali.it...哇,两个 DNS 记录,我是 VIP 了!
关于网速慢,我认为不是因为 DNS 树更新或廉价的 AdSL 线路。这是某些人的借口免费 DNS 提供商,效果不太好。
答案3
当您有一个动态 IP 地址的连接(每次尝试连接时,ISP 都会分配一个新的 IP 地址)并且想要从外部访问该连接后面的某些服务时,DDNS 很有用。
您可以通过 ping 该 DNS 名称来找到路由器连接的 IP 地址,例如:
> ping yourdns.no-ip.org
在响应中,您将获得路由器的公共 IP 地址。
答案4
动态 DNS 服务的主要目的是使没有外部静态 IP 地址的系统能够从远程网络“轻松”访问(有时称为互联网) 通过域名。
动态 DNS 客户端应用程序会在短时间内与您的动态 DNS 提供商进行通信,当您的外部 IP 地址发生变化时,您的动态 DNS 提供商的 DNS 记录也会随之变化。
如果您使用动态 DNS 服务从外部网络访问您的系统,那么您并没有滥用动态 DNS 的概念。
您可以通过 ping 动态 DNS 提供商为您提供的域名或在nslookup
或中查询您的域名来解析您的外部 IP 地址dig
。
请记住,DNS 记录需要一些时间来传播。 不要指望注册动态 DNS 帐户后就能立即通过提供的域名解析您的外部地址。这可能需要一些时间。