网络服务器上的 dyndns 导致路由器断开连接

网络服务器上的 dyndns 导致路由器断开连接

我在 Raspberry Pi(Debian、Jessie)上配置了一个小型网络服务器。除了 Apache、MySQL、PHP 等服务之外,还有一个动态 DNS 客户端“ddclient”作为守护进程运行,每 5 分钟检查我的域的公共 IP。

该服务工作正常,但有令人讨厌的副作用,导致我的路由器(FritzBox Fon WLAN 7360)每隔几分钟就与互联网断开连接。

我很确定 ddclient 是中断的原因,因为这个问题是在服务运行时出现的。

我能做什么来解决这个问题?从技术上来说,ddclient有可能是罪魁祸首吗? ddclient 是否配置错误?我的路由器坏了吗?

如果我将 ddclient 服务设置为 会怎样run_ipup="true"?我的树莓派会在 IP 地址发生变化时自动更新吗?

这是我的路由器日志的摘录。

31.03.17  11:45:38  Internet connection was successfully established. IP-Address:
  xx.xx.xxx.xxx, DNS-server: xxx.x.xxx.xxx and xxx.x.xx.xx, Gateway xx.xxx.xx.xxx,
  Broadband-PoP: ewetel.dsl-e320-02-Bremen
31.03.17  11:45:34  DSL is available (DSL-synchronization exists with 11102/1040 kbit/s).
31.03.17  11:44:50  Timeout with PPP-negotiation
31.03.17  11:44:49  Internet connection was disconnected
31.03.17  11:44:45  DSL does not respond (no DNS-synchronization)

这只是其中数十条消息的摘录。请注意,每次路由器重新连接到互联网时,IP 地址都会发生变化。

请帮忙。谢谢!!

编辑:关于Eamonns 的回答,我已经使用curl 和crond 设置了动态dns 服务。谢谢Eamonns,你帮了我很多!

答案1

如果您使用 Strato,请阅读此内容博客

这里描述了您需要的一切。我自己尝试过,所以我知道它有效。实施起来相对简单。只是一个小的bash脚本,其基础是curl

$IP=$(curl --silent 'https://api.ipify.org')
echo $IP

所以你需要安装curl。

sudo apt-get install curl

然后,此 $IP 变量将传递到您的用户凭据所在的 Strato。整个脚本看起来像这样。

#!/bin/bash
IP=$(curl --silent 'https://api.ipify.org')
HOSTS="ownCloud.travers-berlin.de dokuWiki.travers-berlin.de"
USER="XXXXXXXXXXXX"
PASS="XXXXXXXXXXXX"
URL="https://dyndns.strato.com/nic/update/nic/update"
for HOST in ${HOSTS}
do
  QUERY="?system=dyndns&hostname=${HOST}&myip=${IP}"
  curl --ssl --user ${USER}:${PASS} ${URL}${QUERY}
done

使用 crond 每 5 分钟运行一次,您将不会再遇到任何问题。

希望这有帮助。

相关内容