IPv6 + aliddns 实现群晖外网控制
追加修改(2020-04-21 22:21:20):
脚本已经更新,修复了之前经常报错的问题,但我没有ipv6环境了。。。。。。。所以v6没有测试,另外我换电信宽带了!所以有公网ip了!!!!!总结!!电信宽带好!!!!
另外执行方式略有变化,可自行查看脚本或者执行 python3 aliddns.py --help 查看
=====================================================================================
2020-04-21 更新:
部分人遇到编码问题,我已经在github中更新。 一些人不明白新脚本执行方式,我也大概说下 python3 aliddns.py www baidu.com A 上面python3 就是脚本要用python3 命令执行,aliddns.py 这边就是脚本路径,www baidu.com 注意这边www 和baidu.com 中间是空格,baidu.com 就是你申请的域名,www就是你实际想申请的前缀,最后你访问的域名是www.baidu.com。 同理,若你最后想访问的域名是 abc.efg.baidu.com 那么你的命令就是 python3 aliddns.py abc.efg baidu.com A 最后的A是DNS记录类型,不理解也没关系,反正就是记住ipv4就填A,ipv6 就填AAAA。
追加修改(2020-02-21 12:19:08):
脚本已经更新,修复了之前经常报错的问题,但我没有ipv6环境了。。。。。。。所以v6没有测试,另外我换电信宽带了!所以有公网ip了!!!!!总结!!电信宽带好!!!!
另外执行方式略有变化,可自行查看脚本或者执行 python3 aliddns.py --help 查看
种草nas许久!不过因为穷!一直没入,正好搭上蜗牛星际的车!虽然东西还没到,但也先研究了一下群晖的外网访问!!
##目前主流内网穿透方案
目前内网穿透有如下几种方案
frp、ngrok等转发工具,需要一个有公网ip的服务器,速度也受限于这台服务器!(国外慢,国内贵。。)
群晖自带quickconnect,原理应该和上述类似。速度也受限于群晖官方服务的带宽。
还有zerotier one 这种p2p什么的
然后就是ddns!!!!!
按理说ddns应该是比较好的方案,毕竟现在家里带宽上行都还好,再不济4M总是有的,更别说移动百兆宽带上行能给到50M,但问题就是没有公网ip!!!所以没法做ddns,ddns原理就是有一个域名,解析到isp分配给你的公网ip上,因为isp分配给你的ip会变,所以动态的改变域名的解析记录。而这就存在问题!移动(运营商)不给公网ip怎么办,一个办法,打客服去gang!(我试过,没卵用)二用ipv6.
IPv6
目前国内三大运营商应该都部署了IPv6,路由器默认应该是没有开启ipv6的,这里说一下梅林开启的方法
进入管理页面,如果光猫是路由,联机类型选择 passthough,如果桥接,选择native ppp拨号,详细可以百度。然后梅林的话要把ipv6防火墙关掉,不关的一会就会出现IPv6没有的情况,还不知道什么情况!
IPv6配置好之后注册万网域名,域名注册不细说,详细可以百度!然后申请ali的 AccessKeyId 和 Access Key Secret,记录下来,后续要用到,不会配置也可以百度。然后下载aliddns.py 的python脚本
aliddnsipv6_ak = "AccessKeyId"
aliddnsipv6_sk = "Access Key Secret"
aliddnsipv6_name1 = 'subDomainName' #自定义一个名字,需要符合域名规范
aliddnsipv6_domain = 'domainName' #注册的域名
aliddnsipv6_ttl = "600"
打开脚本(不要用记事本!)用notepad++或者sublime打开,修改上方几个值,举例,你在万网注册了一个域名叫test.com,那么aliddnsipv6_domain后面就填test.com,然后再自己想一个名字,比如ddns,然后填到aliddnsipv6_name1后面,那么一会你访问群晖的 地址就是
修改完成后把文件上传到群晖任意目录(前提你要能找的到),然后新增计划任务!
因为是python脚本所以需要安装python,没有装的自己去套件中心安装!然后命令就是python3 文件路径,路径像我那样放就是/volume1/+filestation显示的路径。
然后就等每十分钟执行就完了。只要ipv6地址变化了,那么就会自动更新域名解析记录。
最后使用 网址 https://你配置的域名:5001 尝试登录即可
参考:
总结
本文基于上述值友的文章,文中所述脚本也是参考上文中的shell脚本所写,目前存在问题,有时候会请求失败,后面再看下,python入门,轻喷,有问题可在github上提issue或直接评论中指出!
另外这个不仅仅可以用于群晖,还可以用在其他地方,只要支持python以及有ipv6网络,都可以实现公网访问!比如我还在家里的Windows上弄了一个,实现remote desktop。效果比之前用frp好多了!
leesonjam
校验提示文案
王忘杰
校验提示文案
夕唯
校验提示文案
值友1718029912
校验提示文案
zlmaicyl
校验提示文案
布鲁斯光
校验提示文案
piku
校验提示文案
值友8170393343
校验提示文案
值友8170393343
校验提示文案
清枫城主
校验提示文案
ozzzo
校验提示文案
双木林
校验提示文案
值友3180620306
请问最新的脚本代码是哪个?
校验提示文案
值友3180620306
老大能不能发一份给我wandyblues@qq.com
第二个问题代码里没有找到
aliddnsipv6_name1 = 'subDomainName' #自定义一个名字,需要符合域名规范
aliddnsipv6_domain = 'domainName' #注册的域名
是不是最新的代码没有这些,
麻烦了,辛苦了
校验提示文案
值友3180620306
usage: aliddns.py [-h] [--value VALUE] RR DomainName Type
aliddns.py: error: the following arguments are required: RR, DomainName, Type
校验提示文案
[已注销]
python3 /volume1/ddns/aliddns.py nas fanzhaoqian.top AAAA
校验提示文案
值友2724664739
aliddns.py: error: the following arguments are required: Type
校验提示文案
值友7060890031
校验提示文案
飞翔企鹅1069
校验提示文案
[已注销]
raceback (most recent call last>:
File "/volume1/ddns/aliddns.py", line 310, in
print("\u5f00\u59cb\u5904\u7406: RR:" + RR + " DomainName:" + DomainName>
UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-3: ordinal not in range(128>
大佬请悦目分析下 。SSH进目录可以用,加到计划任务就不行。
校验提示文案
值友6268848492
校验提示文案
等待恛憶
校验提示文案
飞翔企鹅1069
校验提示文案
值友7060890031
校验提示文案
值友7060890031
校验提示文案
值友2724664739
aliddns.py: error: the following arguments are required: Type
校验提示文案
恶意韭菜
校验提示文案
值友2205996387
校验提示文案
[已注销]
raceback (most recent call last>:
File "/volume1/ddns/aliddns.py", line 310, in
print("\u5f00\u59cb\u5904\u7406: RR:" + RR + " DomainName:" + DomainName>
UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-3: ordinal not in range(128>
大佬请悦目分析下 。SSH进目录可以用,加到计划任务就不行。
校验提示文案
[已注销]
File "/volume1/ddns/aliddns.py", line 310, in
print("\u5f00\u59cb\u5904\u7406: RR:" + RR + " DomainName:" + DomainName>
UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-3: ordinal not in range(128>
大佬请悦目分析下 。SSH进目录可以用,加到计划任务就不行。
校验提示文案
PolarCodes
桥接选native 唉 早看到就好了 v6成功
校验提示文案
[已注销]
python3 /volume1/ddns/aliddns.py nas fanzhaoqian.top AAAA
校验提示文案
值友3180620306
usage: aliddns.py [-h] [--value VALUE] RR DomainName Type
aliddns.py: error: the following arguments are required: RR, DomainName, Type
校验提示文案
值友3180620306
老大能不能发一份给我wandyblues@qq.com
第二个问题代码里没有找到
aliddnsipv6_name1 = 'subDomainName' #自定义一个名字,需要符合域名规范
aliddnsipv6_domain = 'domainName' #注册的域名
是不是最新的代码没有这些,
麻烦了,辛苦了
校验提示文案
值友3180620306
请问最新的脚本代码是哪个?
校验提示文案
双木林
校验提示文案
ozzzo
校验提示文案
清枫城主
校验提示文案
RoadsUntraveled
校验提示文案
风君传奇
校验提示文案