棒子折腾记(三)- Linux IPv6+ddns动态解析
一、前言
对比 邮件提醒 ,觉得这个方法比邮件提醒的好太多, 不用管IP改变,只要记住自己的域名就行 ::(滑稽) ,本文是以自己的随身WiFi刷的Linux-debain系统为例,相关教程本站可以直接搜到,需要买刷好系统的WiFi棒子或者没刷机的棒子都可以联系我 ::(滑稽)
二、实现效果
直接使用域名就可以实现访问,IPv6地址更新将自动更新域名解析地址为最新的IPv6地址
三、环境准备
- debain 11
- 一个自己的域名(腾讯云、阿里云都可以,后面要用到域名的DNSPod Token)
IPv6(先确定系统是否支持IPv6)
curl 6.ipw.cn # 返回本机IP地址
- Xshell + XFTP
- DNSPod API密钥
- debain相关软件
四、相关步骤、
本文以腾讯云平台为例,开始之前请确定你的账号在存在域名且可正常解析 https://console.cloud.tencent.com/cns
1、下载动态域名解析客户端文件
GitHub - imki911/ArDNSPod: 基于DNSPod API实现纯Shell动态域名客户端
2、创建一个域名解析
注意:解析的域名记录自自己定,后期用于直接使用(代替IPv6地址)
3、前往域名平台获取DNSPod Token
(1)前往: 腾讯云API密钥
(2)创建密钥
把创建好的密钥保存下来
4、SSH登录上debain(你的Linux,本文以Debain为例)并安装相关软件包
# 安装iproute2工具包用来查本机的IPv6地址
sudo apt install iprourte2
y #回车
确认软件安卓是否成功:
ip addr show
# 记住你的接口地址(比如我的wlan0)连的外网(wifi)
5、编辑文件ddnspod.sh(之前下载的客户端文件压缩包解压可以看到)
(1)25行的类型改为3(即IPv6)
(2)64行左右修改本机的网卡名
保存文件
6、编辑文件dns.conf
保存文件
7、使用Xftp上传到Debain(Linux)的root目录(后期自动更新要用到)
8、运行测试能否正常更新记录
sh ddnspod.sh
9、crontab实现自动更新
(1)创建记录日志文件:sh.log
# 创建ddns文件夹于/下
mkdir /ddns
# 创建sh.log文件
touch /ddns/sh.log
(2)crontab增加任务
# 进入crontab配置
crontab -e
# 配置每隔15分钟自动更新并将日志写入sh.log
0,15,30,45 * * * * sh ./ddnspod.sh >> /ddns/sh.log
(3)重启crontab服务
service cron restart
五、注意事项
- 写入 日志 是为了更好的发现问题,也可以不做记录日志
- 网卡名 务必对应,否则无法拿到正确的IP地址
- ddnspod.sh和dns.conf需要都在root目录下(crontab默认目录),其他目录需要自行修改运行环境
- 如果解析的地址非正确IPv6地址,请检查相关配置以及路由器/光猫上是否启用IPv6