ddclient 更新到本地 IP 而不是公共 IP

Ale*_*lan 12 linux dns dynamic-dns ubuntu

我正在尝试在我的 ubuntu 服务器上设置 ddclient 以在我的公共 IP 更改时更新我在 zoneedit 上的 DNS 记录。

它更新得很好,问题是它给了 zoneedit 我的本地 IP 而不是我的公共 IP。

SUCCESS:  updating mydomain.com: IP address set to 192.168.0.17 (200: Update succeeded.)
Run Code Online (Sandbox Code Playgroud)

我的 ddclient 配置文件如下所示:

protocol=zoneedit1
use=if, if=eth0
server=dynamic.zoneedit.com
login='user'
password='password'
mydomain.com
Run Code Online (Sandbox Code Playgroud)

为什么它更新到我的本地 IP 而不是我的公共 IP?

更新:这可能是因为我在路由器后面吗?如果是这样,我应该如何配置 ddclient 以获取公共 IP?

dee*_*392 25

是的,问题是因为你在路由器后面。最好的解决方案是查看您是否可以在路由器本身上安装 ddns 客户端。否则,有一些 ddns 更新工具可以访问远程服务器并通过产生的结果确定您的 IP。

这可以通过替换来完成:

use=if, if=eth0
Run Code Online (Sandbox Code Playgroud)

有了这个:

use=web, web=checkip.dyndns.org/
Run Code Online (Sandbox Code Playgroud)

这显然是debconfDebian 系统上生成的默认配置。