Spa*_*Hit 9 networking dns dyndns ddclient
我真的很难ddclient(用我当前的 IP 地址更新OpenDNS)工作。我将它作为守护程序运行,但它从未成功更新我的 IP 地址openDNS.
为了排除故障,我ddclient从命令行运行,如下所示。
(在这些示例中,出于安全原因,方括号 [] 中的值是实际值的替代值)
我的/etc/ddclient.conf包含:
use=web, web=checkip.dyndns.org/, web-skip='IP Address'
server=updates.opendns.com
protocol=dyndns2
login=[my login]
password=[my password]
Home
Run Code Online (Sandbox Code Playgroud)
当我运行时:
sudo ddclient -daemon=0 -debug -verbose -noquiet
Run Code Online (Sandbox Code Playgroud)
我得到:
WARNING: file /var/cache/ddclient/ddclient.cache, line 3: Invalid Value for keyword 'ip' = ''
...
WARNING: skipping update of Home from <nothing> to [my real ip].
WARNING: last updated <never> but last attempt on Tue Oct 4 08:38:32 2011 failed.
Run Code Online (Sandbox Code Playgroud)
如果我rm缓存文件,ddclient确实可以工作一次,但随后会失败。
这是/曾经来自一个已知的“bug”——它是由动态 DNS 提供商错误地使用dyndns2协议并向ddclient.
这个问题早已在 ddclient 中得到了解决(基于 trac 中链接的补丁之一),但 Ubuntu 的 ddclient 太古老了(从上游继承),甚至无法手动修补。(Ubuntu 的版本为 106/Jan-2009,最新版本为 r130/Nov-2011)。
sudo apt-add-repository ppa:nathan-renniewaldock/ppasudo apt-get update && sudo apt-get install ddclient(如有需要会升级)PPA 的最新版本为 10.04、11.10 和 12.04。
对于好奇的人来说,这是补丁/错误位:
# bug #10:某些 dyndns 提供商不会返回 IP,因此
# 我们不能使用返回的IP
my($status, $returnedip) = split //, lc $line;
$ip = $returnedip if (不是 $ip);
| 归档时间: |
|
| 查看次数: |
17055 次 |
| 最近记录: |