众所周知,动态IP的一个特点就是在IP被墙的时候可以及时更换,情况好的时候,两三天都不会换一次,但是当情况不好的时候,一天换两三次也是可能的。但是每次进官网获取最新的IP也很麻烦。所以我们在动态IP的服务器上使用动态域名解析服务(既是DDNS)来解决服务器IP更换时本地IP更新不及时的问题。废话不多说,现在开始。
首先你需要去https://www.dynu.com/zh-CN/ (需先翻牆)来注册自己的一个账户。我们点击右上角,创建账户。姓和名随意,然后那我们来填写用户名,自己要记下来自己的用户名和密码,之后要用。不推荐使用第三方登陆。然后我们登陆进去。选择动态域名解析服务。
登陆你的NAT VPS,执行如下命令
Debian/Ubuntu :
apt-get update
apt install curl -y
CentOS :
yum -y update
yum -y install curl
大陸機器可以使用 162.216.241.241來替換api.dynu.com
curl "https://api.dynu.com/nic/update?hostname=example.dynu.com&password=PASSWORD"
Ex:curl "https://api.dynu.com/nic/update?hostname=xample.dynu.com&password=Qq20230727"
把example.dynu.com改为你刚刚申请的域名,PASSWORD改为你账户的密码。然后回车执行。中间可能会执行一段时间,耐心等待即可,直到输出good xxx.xxx.xxx.xxx (如下图)至此,DDNS更新完成。

使用Crontab来定时运行
执行如下命令
cd ~
crontab -e
选择文本编辑器,我们在这里选择nano,CentOS的系统预设是vi编辑器不用做选择

按键盘上的方向键来定位光标。nano编辑器在最后添加下面一行,如果是vi编辑器按下i再添加。
*/1 * * * * curl "http://api.dynu.com/nic/update?hostname=example.dynu.com(申請的域名)&password=申請的密碼" >/dev/null 2>&1 &
*/1 * * * * curl "http://api.dynu.com/nic/update?hostname=example.dynu.com&password=Qq20230727" >/dev/null 2>&1 &
nano编辑器同时按下Ctrl+X,之后按下Y键存档,
vi编辑器按下:wq存档,
然后回车确认。
現在我们来查看一下计划任务的状态,输入
Debian/Ubuntu :
/etc/init.d/cron status
CentOS :
/bin/systemctl status crond.service
如果出现绿色的(不一定)Active Running,说明定时任务设置成功

正文完