提醒:本文已经超过 1550 天未修改,其中某些信息可能已经过时,请谨慎使用!
你似乎正在查看一篇很久远的文章。
为了你这样的访客,我特地保留了我的历史博文。不要笑话过去的我,用温柔的目光看下去吧。
DNS,即域名解析,在他前面加个D就是DDNS( Dynamic Domain Name Server动态域名解析),用于动态公网ip解析到一个固定域名使用。
这边使用3322公云的ddns服务,原因有三个
1.免费,也比较稳定
2.自带免费域名
3.只需要一条命令即可更新ip地址,这方便我们日后在客户端进行ip更新。
该注册注册该登陆登陆,不用多BB。
免费版只有一个动态解析名额
然后新建一个动态域名,选择免费后缀即可,随便填一个前缀即可,后期需要绑定自家域名只需要做一个CANME解析即可。
接下来我们该配置客户端了,根据公云的文档,更新ip只需要这一个命令:
lynx -mime_header -auth=用户名:密码 "http://members.3322.net/dyndns/update?system=dyndns&hostname=你的公云DDNS域名"
所以我们只需要做一个cron定时任务即可更新ip
先去装一个lynx,大部分发行版基本自带但是如果不带也没关系。
lynx命令是纯文本模式的网页浏览器,不支持图形、音频、视频等多媒体信息
Ubuntu/Debian: sudo apt-get install lynx -y
Cent OS: sudo yum install -y lynx
root@smallxushell:~ $ sudo apt-get install lynx -y
root@smallxucent:~ $ sudo yum install -y lynx
安装完毕后配置Cron,如果发行版没带请自行安装。
编写sh脚本:
#!/bin/bash
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin
export PATH
lynx -mime_header -auth=你的公云用户名:密码 "http://members.3322.net/dyndns/update?system=dyndns&hostname=你的公云域名"
echo "----------------------------------------------------------------------------"
endDate=`date +"%Y-%m-%d %H:%M:%S"`
echo "◉[$endDate] 200 ok"
echo "----------------------------------------------------------------------------"
赋予执行权限
sudo chmod 777 ddns.sh
修改并保存好,然后配置Cron.
新建一个Cron的表达式,用.cron后缀来方便分类
nano ddns.cron
文件内这样写:
30 * * * * ~/你脚本路径/ddns.sh >> /var/log/ddns.log 2>&1
/var/log/ddns.log 为任务执行日志,你可以把他搞到别的地方去。
这里表示在每个小时的第三十分钟进行更新ip,由于公云免费版有更新频率限制,频率快并没有用,如想要其他更新频率,请自行学习Cron的表达式。
表达式 | 含义 |
---|---|
* * * * * | 每分钟执行一次 |
30 * * * * | 每小时的30分执行一次 |
*/5 * * * * | 每5分钟执行一次 |
0/5 * * * * | 每5分钟执行一次,且仅在0,5,15,20...55分执行 |
5 0 * * * | 每天的00:05执行一次 |
把ddns加入到定时任务:
crontab ddns.cron
查看定时任务:
crontab -l
手动执行一下看看ip是否更新:
./ddns.sh
版权声明:转载时请以超链接形式标明文章原始出处和作者信息,来源孤影墨香本文链接: https://www.gymxbl.com/2325.html
访问时间:2024-10-10 03:02:35
Comments | 5 条评论
博主 2412304859
该评论为私密评论
博主 balabala
哈哈,这博客不错
博主 君以外害
博主 small_xu038
@君以外害 快睡觉吧
博主 Lime
Hi