注意写在最前面:本文章方案需要一台linux小主机,我是用的N1盒子,可以咸鱼上面买个电视盒子刷成linux系统的盒子,优点是盒子便宜,功耗也很低,可以全天24小时运行,我的N1盒子都连续用了5年多了
可以看smzdm上面的原文网页链接
在以前的文章里面是通过华为tc7102路由器获取设备的ipv6地址,不过刚刚买了新路由器华为的BE7,在BE7的web管理的接口里面去掉了ipv6显示,就用不了以前的脚本了,还好现在有deepseek,我可以提问题和需求,让deepseek来提供解决方案
我是deepseek和豆包混合着用,比如我提问题 “我有一台24小时开启的linux小主机,知道局域网设备的ipv4地址和mac地址,有什么方法可以得到这些设备的ipv6地址吗”

deepseek说可以用邻居表,按照deepseek的方法,一步一步在linux小主机上面测试,有问题就把问题输出复制发给deepseek,让deepseek解决。
当这些按照步骤能够得到其他设备的ipv6地址的时候,就可以让deepseek帮忙写python脚本了

后面又修修改改得到最终方案
局域网设备IPv6地址发现 + 阿里云DDNS更新工具
支持本地设备和远程设备,自动对比DNS记录并按需更新
当邻居表中找不到设备时,自动使用EUI-64方法推导并主动触发
并且更新到阿里云域名对应的解析域名上,以实现用外网直接访问设备
结果,使用方法
最终python脚本已经上传到https://github.com/leegang2017/aliddns
首先打开脚本修改下列参数
ALIDDNS_AK = "ALIDDNS_AK" # 替换为你的AccessKey ID
ALIDDNS_SK = "ALIDDNS_SK" # 替换为你的AccessKey Secret
# ========== 设备配置 ==========
# local: true 表示本机设备,不需要macAddress
# local: false 或不设置,表示远程设备,需要macAddress
ALI_DEVICES = [
{
"local": True,
"RR": "coreelec",
"DomainName": "xxx",
"Type": "AAAA"
},
{
"macAddress": "xxx",
"RR": "ipnas",
"DomainName": "xxx",
"Type": "AAAA"
},
]
ALIDDNS_AK 以及 ALIDDNS_SK ,获取方式见阿里云文档 https://help.aliyun.com/document_detail/34414.html
参数说明
ALI_DEVICES: 这里可以设置多个设备
macAddress: 连接设备的mac地址,可以在路由器里面找到
RR: 要设置的主机名,你要设置的域名前缀
DomainName:域名 ,在阿里云购买的域名 例如 www.baidu.com ,www为RR,baidu.com 为DomainName
Type:类型,IPv6 为 AAAA
运行方式 python3 aliddns_ip_neigh.py
配合linux,如coreelec使用
把aliddns_ip_neigh.py上传到linux里面,可以用winscp,比如路径为/storage/data/aliddns_ip_neigh.py
打开ssh终端,执行 crontab -e添加如下例子,意思是5分钟执行一次
*/5 * * * * python3 /storage/data/aliddns_ip_neigh.py >> /storage/data/logfile.log
可以看smzdm上面的原文网页链接
在以前的文章里面是通过华为tc7102路由器获取设备的ipv6地址,不过刚刚买了新路由器华为的BE7,在BE7的web管理的接口里面去掉了ipv6显示,就用不了以前的脚本了,还好现在有deepseek,我可以提问题和需求,让deepseek来提供解决方案
我是deepseek和豆包混合着用,比如我提问题 “我有一台24小时开启的linux小主机,知道局域网设备的ipv4地址和mac地址,有什么方法可以得到这些设备的ipv6地址吗”

deepseek说可以用邻居表,按照deepseek的方法,一步一步在linux小主机上面测试,有问题就把问题输出复制发给deepseek,让deepseek解决。
当这些按照步骤能够得到其他设备的ipv6地址的时候,就可以让deepseek帮忙写python脚本了

后面又修修改改得到最终方案
局域网设备IPv6地址发现 + 阿里云DDNS更新工具
支持本地设备和远程设备,自动对比DNS记录并按需更新
当邻居表中找不到设备时,自动使用EUI-64方法推导并主动触发
并且更新到阿里云域名对应的解析域名上,以实现用外网直接访问设备
结果,使用方法
最终python脚本已经上传到https://github.com/leegang2017/aliddns
首先打开脚本修改下列参数
ALIDDNS_AK = "ALIDDNS_AK" # 替换为你的AccessKey ID
ALIDDNS_SK = "ALIDDNS_SK" # 替换为你的AccessKey Secret
# ========== 设备配置 ==========
# local: true 表示本机设备,不需要macAddress
# local: false 或不设置,表示远程设备,需要macAddress
ALI_DEVICES = [
{
"local": True,
"RR": "coreelec",
"DomainName": "xxx",
"Type": "AAAA"
},
{
"macAddress": "xxx",
"RR": "ipnas",
"DomainName": "xxx",
"Type": "AAAA"
},
]
ALIDDNS_AK 以及 ALIDDNS_SK ,获取方式见阿里云文档 https://help.aliyun.com/document_detail/34414.html
参数说明
ALI_DEVICES: 这里可以设置多个设备
macAddress: 连接设备的mac地址,可以在路由器里面找到
RR: 要设置的主机名,你要设置的域名前缀
DomainName:域名 ,在阿里云购买的域名 例如 www.baidu.com ,www为RR,baidu.com 为DomainName
Type:类型,IPv6 为 AAAA
运行方式 python3 aliddns_ip_neigh.py
配合linux,如coreelec使用
把aliddns_ip_neigh.py上传到linux里面,可以用winscp,比如路径为/storage/data/aliddns_ip_neigh.py
打开ssh终端,执行 crontab -e添加如下例子,意思是5分钟执行一次
*/5 * * * * python3 /storage/data/aliddns_ip_neigh.py >> /storage/data/logfile.log
东哥首页搜“限时福利616”就有








