AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 399354
Accepted
krizzo
krizzo
Asked: 2012-06-16 21:00:19 +0800 CST2012-06-16 21:00:19 +0800 CST 2012-06-16 21:00:19 +0800 CST

ddclient 更新 namecheap 子域?

  • 772

我有一个要使用 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.

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
ddclient dynamic-dns namecheap
  • 3 3 个回答
  • 11396 Views

3 个回答

  • Voted
  1. bukzor
    2012-09-18T08:27:31+08:002012-09-18T08:27:31+08:00

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

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

    如果您不想依赖外部网络服务来查找您的 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
    

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

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

    • 6
  2. Best Answer
    krizzo
    2012-06-16T21:58:21+08:002012-06-16T21:58:21+08:00

    我在 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
    
    • 1
  3. terminalfool
    2014-05-28T10:34:10+08:002014-05-28T10:34:10+08:00

    我在 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“所有主机记录”页面上将“*”定义为子域 A 记录。

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

    • 0

相关问题

  • EC2 托管服务多租户动态 DNS 解决方案

  • 使用动态 DNS,注册请求发送到哪些 DNS 服务器?

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve