ddclient更新namecheap子域名?

我有一个我想用ddclient更新的子域。 我configurationddclient从dyndns获取IP,但它不更新namecheap上的子域。 他们说使用yourdomain.com作为login,而不是我的实际域名。

有没有人能够得到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. 

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 

我刚刚经历了这个过程,想要注意一些使我绊倒的问题。

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

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

您需要的第一件事是find包含您的IP地址的页面。 对我来说,这是http://192.168.1.1/RST_status.htm 。 确保当您在该页面上查看源代码时,您将看到您的IP地址。 现在注销你的路由器,否则ddclient会看到一个关于某人已经login的错误消息。最后编辑你的/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 

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

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

我在centos上使用了ddclient 3.7.3版本6.2我不知道这个版本是否重要,但是我最终设置了我的名字是这样的。 我做了这个,所以其他人可以看到他们应该怎么做,只需用您的设置replacegoogle.com,8cc67226fadff52f402d31505ee85d6b和dev。

不要在密码周围加引号,或者在每行之后加逗号/反斜杠。

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

我和ddclient有同样的困难。 所以我写了一个简单的Perl模块来照顾更新。 我开发它思考,因为每个人都这样做,你必须抓住你的外部IP和饲料到Namecheap与您的基本参数。 这是没有必要的,因为Namecheap结束的更新脚本自己决定你的IP。

所以更新电话很简单:

 use App::DDNS::Namecheap; my $domain = App::DDNS::Namecheap->new( domain => 'mysite.org', password => 'abcdefghijklmnopqrstuvwxyz012345', hosts => [ "@", "www", "*" ], ); while (1) { $domain->update(); sleep (300); #5 minute cycle } 

请注意,可以使用通配符条目来处理子域名。 只需在您的Namecheap“所有主机logging”页面上定义“*”作为子域Alogging。

App :: DDNS :: Namecheap在CPAN上,如果你有兴趣。