本帖最后由 tudoubocai 于 2022-4-9 14:19 编辑
openwrt x86主路由-j1900双网卡-电信100m-ipv6-dnspod自动更新
……opkg安装了动态dns、腾讯dns、ddnspod,都没法正确获取路由器的ipv6,已经折腾了2周。有一种想要放弃的感觉。
由于使用最广泛的dnspod.sh--https://github.com/rehiy/dnspod-shell 不能(或许是我没找到)指定网卡,导致脚本没法从我的路由器上正确获取公网ipv6。
突然想起以前用过的脚步和上面这个不太一样,于是多方查找之后,最终让我找到了ddnspod.sh最古老的版本进化版--https://gitcode.net/mirrors/imki911/ardnspod
这个脚本可以自己指定网卡/虚拟网卡,轻松自动获取到正确的ipv6
新手操作:老鸟不需要看这个,浪费时间。
到https://gitcode.net/mirrors/imki911/ardnspod克隆脚本,我选了zip格式,其它也可以,看个人爱好
下载好的zip解压得到ardnspod-master文件夹
修改里面的dns.conf文件
按`TokenID,Token`格式填写自己的artoken
arToken="12345,7676f344eaeaea9074c123451234512d"
按这个格式填入域名
# 每行一个域名
arDdnsCheck "test.org" "subdomain"
…………组合起来的域名是subdomain.test.org这种形式
修改ddnspod.sh
#Please select IP type
IPtype=3 #1.WAN 2.LAN 3.IPv6 4.Local-WAN
……3代表ipv6。
大概在第66行
ip addr show dev pppoe-wan | sed -e's/^.*inet
##pppoe-wan是我的路由器有公网ipv6的网卡,你的是啥就改成啥
……………………
改好后,把文件夹下的dns.conf、dns.conf.example、ddnspod.sh这三个文件用scp命令上传到路由器
终端ssh登录路由器
scp /root/ardnspod-master/dns.config root@192.168.1.1:/root/scp /root/ardnspod-master/ddnspod.sh root@192.168.1.1:/root/
scp /root/ardnspod-master/dns.config.example root@192.168.1.1:/root/
##说明
##1、scp后面的/root是电脑上ardnspod-master文件夹的位置,改成你自己的。
##2、192.168.1.1是你的路由器的ip地址
##3、最后面的/root是路由器上脚本的存放位置,推荐/root下,方便以后查找和管理。
##4、每条命令后,都需要输入路由器ssh的密码。
上传完成后
电脑打开dnspod的控制台,新建一个AAAA的解析,域名就是设置到dns.conf文件里面的。
ssh登录到路由器,执行./ddnspod.sh就能更新dnspod上的解析地址了。等几分钟就能域名访问路由器。
##如果域名打不开路由器管理界面,很可能是你的宽带封了80、443端口。可以尝试其他业务打开的端口来确认。
打开openwrt的web管理
以次点开系统-计划任务
在末尾填入
*/20 * * * * /root/ddnspod.sh
保存
##代码意思是每隔20分钟执行一次/root目录下的ddnspod.sh脚本(如果你改变了文件存放的目录,请做相应的修改)。这样就算路由器重启获取了新的ipv6,也能在20分钟后重新获得正确的解析。
最好是重启一下路由器
完成!
………………………………………………………………
作者的readme.md
# ArDNSPod
基于DNSPod用户API实现的纯Shell动态域名客户端,适配网卡地址。
# Usage
[详细介绍使用方法的博文](https://blog.csdn.net/Imkiimki/article/details/83794355)(老鸟请略过)
首先要在dnspod网页上新建解析记录,然后获得api token。
复制`dns.conf.example`到同一目录下的`dns.conf`并根据你的配置修。
在 `ddnspod.sh` 文件开头修改要解析的ip类型(ipv4/ipv6)
执行时直接运行`ddnspod.sh`,支持cron任务。
++++++++大概再第66行,改eth0为路由器/电脑中获取到ipv6的网卡名称,可以是虚拟网卡如pppoe+++++++
配置文件格式:
```
# 安全起见,不推荐使用密码认证
# arMail="test@gmail.com"
# arPass="123"
(现在dnspod已经完全废除密码认证的方式了)
# 推荐使用Token认证
# 按`TokenID,Token`格式填写
arToken="12345,7676f344eaeaea9074c123451234512d"
# 每行一个域名
arDdnsCheck "test.org" "subdomain"
```
如需使用Local-WAN模式,请安装miniupnpc
```
# debian/ubuntu setup:
# sudo apt-get install miniupnpc
```
# 最近更新
2015/2/24
- 增加token鉴权方式 (by wbchn)
2015/7/7
- 使用D+服务获取域名解析
2016/2/25
- 增加配置文件,分离脚本与配置,适配内网。
- 加入Mac支持
- sed脚本POSIX化,可跨平台
2016/3/23
- 进一步POSIX化,支持Mac和大部分Linux发行版
- 更改配置文件格式
------forked from origin-----
2018-11-07
- 支持选择IP地址类型,包括外网/内网/IPv6
2019-05-24
- 支持IPV6(如你所料,之前所说的支持是假的)
- 根据网站的更新,api调用使用TLS v1.2,解决了之前调用失败的问题(感谢@lth410 指出)。
2020-01-03
- 修复了12月31日由于 dnspod API 改动导致的失效。
2020-01-09
- API返回格式又变了,更改正则表达匹配。
2021-06-06
- 支持Local-WAN模式:Local-WAN是指路由器作为一个大局域网的子网,某些场景下需要获取当前路由器的WAN IP,这些WAN IP一般仍然是一个子网IP
# Credit
Original: anrip
Forked form anrip/ArDNSPod
请不要胡乱输入以及粘贴、复制等方式灌水
请尊重作者、并共同维护网站的正常阅读,否则账户将会被限制发帖、回帖,并且积分可能会被清零,站内短信以及阅读权限等都会受到影响,谢谢。
具体限制方式:https://www.right.com.cn/forum/thread-8307840-1-1.html
|