ddclient 更新 namecheap 子域?

LF4*_*LF4 4 dynamic-dns ddclient namecheap

我有一个要使用 ddclient 更新的子域。我将 ddclient 配置为从 dyndns 获取 IP,但它没有更新 namecheap 上的子域。他们说使用 yourdomain.com 作为登录名而不是我的实际域。

有没有人能够使用 ddclient 更新 namecheap DNS?

我正在使用 ddclient 3.7.3 运行 CentOS 6.2。

当我运行 ddclient 时,我得到以下信息。

CONNECT:  checkip.dyndns.org
CONNECTED:  using HTTP
SENDING:  GET / HTTP/1.0
SENDING:   Host: checkip.dyndns.org
SENDING:   User-Agent: ddclient/3.7.3
SENDING:   Connection: close
SENDING:
RECEIVE:  HTTP/1.1 200 OK
RECEIVE:  Content-Type: text/html
RECEIVE:  Server: DynDNS-CheckIP/1.0
RECEIVE:  Connection: close
RECEIVE:  Cache-Control: no-cache
RECEIVE:  Pragma: no-cache
RECEIVE:  Content-Length: 106
RECEIVE:
RECEIVE:  <html><head><title>Current IP Check</title></head><body>Current IP Address: IPADD</body></html>
Use of uninitialized value in string ne at /usr/sbin/ddclient line 1998.
WARNING:  skipping update of lf4bot from <nothing> to IPADD
WARNING:   last updated <never> but last attempt on Fri Jun 15 22:46:21 2012 failed.
WARNING:   Wait at least 5 minutes between update attempts.
Run Code Online (Sandbox Code Playgroud)

ddclient.conf 文件

daemon=300                              # check every 300 seconds
syslog=yes                              # log update msgs to syslog
mail=root                               # mail all msgs to root
mail-failure=root                       # mail failed update msgs to root
pid=/var/run/ddclient.pid               # record PID in file.
ssl=yes                                 # use ssl-support.  Works with
use=web, web=checkip.dyndns.org/, web-skip='IP Address' # found after IP Address
protocol=namecheap \
server=dynamicdns.park-your-domain.com \
login=yourdomain.com \
password=PASSWORD \
lf4bot
Run Code Online (Sandbox Code Playgroud)

buk*_*zor 6

我刚刚经历了这个过程,并想指出一些让我绊倒的问题。

首先,这是为 namecheap 配置 ddns 的规范参考:http : //www.namecheap.com/support/knowledgebase/article.aspx/583/11/how-to-configure-ddclient

如果您不想依赖外部 Web 服务来查找您的 IP(像我一样),事情会稍微复杂一些。ddclient 有一个工具可以登录到你的路由器并从那里获取你的 IP 地址,这应该是最有效和最可靠的方法。

您需要做的第一件事是找到包含您的 IP 地址的页面。对我来说,这是http://192.168.1.1/RST_status.htm. 确保当您在该页面上“查看源代码”时,您会看到您的 IP 地址。现在注销您的路由器,否则 ddclient 只会看到有关某人已登录方式的错误消息。 最后/etc/ddclient.conf像这样编辑:

protocol=namecheap
use=fw
fw=192.168.1.1/RST_status.htm
fw-login=admin
fw-password=<my-router-password>
server=dynamicdns.park-your-domain.com
login=<my-domain>.org
password='<8cc67226fadff52f402d31505ee85d6b>'
www
Run Code Online (Sandbox Code Playgroud)

为了确保它的工作原理,运行:ddclient --debug --verbose。您应该看到它从路由器下载的网页,以及它从中抓取的 IP。

您可能不想使用--noexec调试选项,因为 ddclient 将跳过从路由器下载 html,并且找不到任何 IP 地址。在这种情况下,您将看到DEBUG: skipped network connectionWARNING: unable to determine IP address,这是不好的。


LF4*_*LF4 1

我在 centos 6.2 上使用 ddclient 版本 3.7.3 我不知道版本是否重要,但我最终设置 namecheap dyndns 的方式是这样的。我这样做是为了让其他人可以准确地看到他们应该如何使用它,只需用您的设置替换 google.com、8cc67226fadff52f402d31505ee85d6b 和 dev 即可。

不要在密码两边添加引号或在每行后添加逗号/反斜杠。

##
## NameCheap (namecheap.com)
##
protocol=namecheap
server=dynamicdns.park-your-domain.com
login=google.com
password=8cc67226fadff52f402d31505ee85d6b
dev
Run Code Online (Sandbox Code Playgroud)