如何在Ubuntu Server上设置动态DNS提取服务?

我在http://no-ip.org/帐户中创建了帐户和主机名,这是我的服务器类型中最常用的服务。 有人可以引导我完成使用ddclient和no-ip的配置过程,因为我是命令行菜鸟吗?

为No-IP设置ddclient

ddclient是动态更新客户端(DUC),可用于更新动态DNS条目。 它定期检查当前IP地址,并在检测到更改时更新DNS信息。 以下是如何为No-IP(noip.com/no-ip.com)服务安装和配置它。

首先,安装ddclient包。 我们稍后会手动配置它,所以只需按Enter键即可获得所有配置问题。

 sudo apt-get install ddclient 

停止ddclient守护程序。 由于一个错误, sudo service ddclient stop命令在Ubuntu 12.04上不起作用,所以我们使用pkill代替。

 sudo pkill ddclient 

编辑配置文件。 要关闭gedit默认创建的备份文件(例如/etc/ddclient.conf~ ),并且在您认为已删除密码之后可能包含密码,请关闭设置Edit -> Preferences -> Editor -> Create a backup copy of files before saving

 sudo gedit /etc/ddclient.conf /etc/default/ddclient 

删除/etc/ddclient.conf的旧内容并粘贴到下面显示的模板中。

仔细阅读模板的注释并根据需要自定义文件。

使用noip.com子帐户(即具有密码的组(此function是付费服务))可能是个好主意。 这样,密码只能访问更新指定的主机,而不能完全访问整个No-IP帐户,其中可能包括MX记录(获取密码的攻击者可能会更改MX记录以拦截您的电子邮件)或其他服务,如IMAP帐户。

您应该设置daemon_interval=3600 (参见模板注释)。

使用以下命令测试您的配置:

 sudo ddclient -daemon=0 -debug -verbose -noquiet -force 

你应该得到一个good (IP地址更新)或nochg (IP地址已经设置为该值)响应。 此时可以收到以下警告(但在正常操作期间不能继续收到警告):

WARNING: updating : nochg: No update required; unnecessary attempts to change to the current address are considered abusive

注意:在No-IP服务器上似乎有一些缓存,所以如果从服务器获得的响应不是您所期望的,那么等待一段时间可能会有所帮助。

完成配置后,启动ddclient守护程序:

 sudo service ddclient start 

每次启动计算机时,守护程序也会自动启动。

现在,每次检测到IP地址更改时,都会更新DNS条目/条目。

故障排除

再次运行包配置:

 sudo dpkg-reconfigure ddclient 

删除包和配置文件:

 sudo apt-get purge ddclient 

守护进程控制:

 sudo service ddclient status sudo service ddclient start sudo service ddclient stop # The stop command above does not work on Ubuntu 12.04 due to a bug, but # it works on 14.04. Here are alternative ways to control the daemon: ps -A f | grep -i ddclient sudo pkill ddclient 

删除缓存以欺骗守护程序更新DNS条目以进行调试(在正常操作期间,仅当当前IP地址与存储在缓存中的IP地址不同时才更新DNS条目):

 sudo pkill ddclient sudo rm /var/cache/ddclient/ddclient.cache sudo service ddclient start # See the result: tail /var/log/syslog # If you have set up mail=..., you should also receive an e-mail. # The syslog and e-mail should show a "good" or "nochg" response. 

通过将DNS条目IP地址设置为1.2.3.4然后启动守护程序,测试守护程序是否会在IP地址更改时实际更新DNS条目:

 sudo pkill ddclient sudo ddclient -daemon=0 -debug -verbose -noquiet -force -use ip -ip 1.2.3.4 sleep 30 # ddclient will not perform updates less than 30 seconds apart sudo service ddclient start 

调试运行(永远/根据需要/总是更新DNS条目):

 sudo ddclient -daemon=0 -debug -verbose -noquiet -noexec sudo ddclient -daemon=0 -debug -verbose -noquiet sudo ddclient -daemon=0 -debug -verbose -noquiet -force 

尝试使用各种方法检测当前的IP地址:

 sudo ddclient -query 

感兴趣的文件:

 /etc/ddclient.conf /etc/default/ddclient /var/cache/ddclient/ddclient.cache 

来自守护程序的消息将显示在此处(如果设置为此,也将通过电子邮件发送):

 /var/log/syslog 

文档:

  • ddclient -help
  • /usr/share/doc/ddclient/examples/sample-etc_ddclient.conf.gz
  • ddclient主页
  • 无IP协议

/etc/ddclient.conf的模板

 ################################################################################ # Configuration file for ddclient ################################################################################ ################################################################################ # Misc. configurations # To choose between ipup mode (for dial-on-demand) and daemon mode, please edit # /etc/default/ddclient. #mail=root # E-mail messages to this address #mail-failure=root # E-mail messages about failed updates to this address ################################################################################ # How to obtain current IP address # Methods: # use=ip, ip=ADDRESS # Set the IP address to ADDRESS # use=if, if=INTERFACE, if-skip=PATTERN # Obtain IP address by calling 'ifconfig INTERFACE' # use=web, web=PROVIDER|URL, web-skip=PATTERN # Obtain IP address from IP discovery web page # use=cmd, cmd=PROGRAM, cmd-skip=PATTERN # Obtain IP address by calling PROGRAM # use=fw|FWMODEL, fw=ADDRESS|URL, fw-skip=PATTERN # Obtain IP address from firewall web page # fw-login=LOGIN, fw-password=SECRET # # The *-skip options can be used to skip IP addresses found before PATTERN. # # NOTE: The ddclient IP detection routines do not respect the HTTPS prefix in # URLs, and instead fall back to HTTP (this is fixed in version 3.8.1). The # option ssl=yes does not apply to the IP detection either (this is at least # how versions 3.8.0 to 3.8.2 behave). # # The default time between each IP address change check is daemon_interval=300 # (5 minutes), which may be a bit too frequent when using an external IP # discovery service. To set the checking interval to eg one hour instead, # please edit /etc/default/ddclient and set daemon_interval=3600. # Obtain IP address from network interface #use=if, if=eth0 # Obtain IP address from no-ip.com IP discovery web page (unencrypted connection) use=web, web='http://ip1.dynupdate.no-ip.com:8245/' # Obtain IP address from no-ip.com IP discovery web page (encrypted connection) # Encryption does not offer any real protection since a man-in-the-middle # attack could route the HTTPS connection through a host belonging to the # attacker, thus causing an incorrect IP address to be reported. #use=cmd, cmd='bash -c "set -o pipefail; timeout 120 wget -qO- \ # --header=Host:ip1.dynupdate.no-ip.com https://dynupdate.no-ip.com/ | head -c 1000"' ################################################################################ # Dynamic DNS service setup protocol=noip #server= # Defaults to dynupdate.no-ip.com for noip protocol ssl=yes # NOTE: Does not apply when obtaining IP address, just when updating the DNS entry! login='nobody@nowhere.com' # Username. For No-IP sub-accounts (groups with passwords), use '%3A'. password='1234' ################################################################################ # Hosts to update, with optional per-host options # Examples: # protocol=hammernode1, \ # login='my-hn-login', password='my-hn-password' \ # myhost.hn.org,myhost2.hn.org # # login='group2%3Ajohndoe@domain.com', password='1234' myhost3.no-ip.biz,myhost4.no-ip.biz # # myhost.no-ip.biz,myhost2.no-ip.biz my.full.hostname 

更新: IP检测服务的加密连接毫无意义。 现在在ddclient.conf模板中对此进行了解释,现在它默认使用未加密的连接进行IP检测。

这是一个很好的演练…… http://www.ubuntugeek.com/update-ip-addresses-at-dynamic-dns-services-using-ddclient.html

希望这可以帮助 :)

No-ip有自己的客户端,它第一次安装时对我有用。

他们自己的网站上有下载客户端的说明 ,然后快速make && make install,你就完成了。 拥有no-ip的登录凭据,因为您将被视为配置向导的一部分。 之后,请确保运行noip2然后您可以在其网站上检查您的主机帐户,看它是否已更新。