『瀚思彼岸』» 智能家居技术论坛

 找回密码
 立即注册
查看: 2096|回复: 4

[基础教程] 使用lucky666(大吉)获取指定设备IPV6公网地址

[复制链接]

14

主题

78

帖子

462

积分

论坛分享达人

积分
462
金钱
384
HASS币
0
发表于 2024-6-1 21:52:37 | 显示全部楼层 |阅读模式
本帖最后由 gl695133087 于 2024-6-1 21:57 编辑

家里的nas挂在了op上,op上装了lucky666,使用阿里云DDNS做了动态域名解析,常规情况下只能获取到op自身的公网地址,不能解析到op下面设备的公网地址,但是大吉支持使用脚本获取ip,这就有得玩了。

最开始,采用了如下命令当脚本(第一版)
获取指定MAC设备的IPV6:ip -6 neigh | grep -v FAILED |grep -v ^fe80 |grep "your_mac" | grep -v "::" |awk '{print $1}'
1.ip -6 neigh,获取局域网内所有ipv6地址
2.grep -v FAILE,删除失败的行
3.grep -v ^fe80,删除局域网ipv6地址行
4.grep "your_mac" ,提取包含指定MAC的行,your_mac替换成你需要获取公网IP的设备mac地址,这个一般设备外壳铭牌上有,也可以直接在路由器里面找到,不会的自行搜吧。
5.grep -v "::",删除含“::”的行,即删除短的那个公网IPV6地址。
6.awk '{print $1}',提取行内ipv6地址(在前面命令获取字符串中间有空格的前提下,以空格为分隔符,指被分割开的第一串字符)。


采用这个命令,确实获取到了nasIPV6的公网地址,但是,用了一段时间,有一天突然解析不了。回家登录大吉后台查看,指令获取的一直是一个空字符串。
ssh登录op,测试了下,ip -6 neigh获取到的nas公网IPV6地址只有短地址,没有长的那个了,但是只有使用长的才能访问到nas;再仔细研究了下,短地址“::”字符前面的字符串就是ipv6公网给的前缀,同时还获取到了nas在局域网的本地ipv6地址,fe80:后面的字符串刚好是nas公网ipv6长地址的后缀,因此有了第二版。

(第二版)最开始是直接写了个sh脚本放在etc文件夹内,但是只能在ssh界面获取到ip,在大吉内调用脚本显示错误;后来直接把脚本内容粘贴在大吉域名解析的脚本框里面,成了。

#!/bin/bash
#截取nasIPV6地址长IP;赋值符号前后不能有空格
str0=$(ip -6 neigh | grep -v FAILED |grep -v ^fe80 |grep "your_mac" | grep -v "::" |awk '{print $1}')

#方法二,分别获取前缀后后缀
#截取公网ipv6地址前半段
str1=$(ip -6 neigh | grep -v FAILED |grep -v ^fe80 |grep "your_mac" |awk '{print $1}' | cut -d ':' -f1-4)
#截取本地ipv6地址后半段
str2=$(ip -6 neigh | grep -v FAILED |grep ^fe80 |grep "your_mac" |awk '{print $1}' | cut -d ':' -f2-6)

#判断方法一是否能获取,若方法一结果为空,采用方法二拼合,否则采用方法一
if test -z "${str0}"
then
str=${str1}${str2}
else
str=$str0
fi
echo $str #回显最终结果



评分

参与人数 1金钱 +10 收起 理由
DDDear + 10 大神666!

查看全部评分

回复

使用道具 举报

0

主题

34

帖子

323

积分

中级会员

Rank: 3Rank: 3

积分
323
金钱
289
HASS币
0
发表于 2024-8-8 16:05:32 | 显示全部楼层
上面的代码复制进去用不了,原代码格式没贴进来啊
回复

使用道具 举报

0

主题

1

帖子

16

积分

新手上路

Rank: 1

积分
16
金钱
15
HASS币
0
发表于 2024-8-8 19:54:46 | 显示全部楼层
方法二非常好用,感谢
回复

使用道具 举报

0

主题

7

帖子

28

积分

新手上路

Rank: 1

积分
28
金钱
21
HASS币
0
发表于 2024-8-9 11:45:32 | 显示全部楼层
非常好用!这下全部设备都能公网直连了
回复

使用道具 举报

0

主题

6

帖子

32

积分

新手上路

Rank: 1

积分
32
金钱
26
HASS币
0
发表于 2024-8-24 18:13:46 | 显示全部楼层
你好你的lucky不知道怎么用 测试了机场都没有成功  能留个联系方式 向您请教下吗  目前的问题是  我是用linux系统搭建的lucky但是安装你的方案  指定局域网中的一台设备解析   死活不成功
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2024-11-24 04:31 , Processed in 0.062309 second(s), 28 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表