通过IPv6实现外网访问群晖7.0.1系统

由于IPv4资源有限,家庭宽带无法获取到固定的公网IPv4地址(动态的公网IP地址也无法得到),因此使用IPv6来访问我们家庭局域网中的NAS设备。

(一)检查家庭宽带是否支持IPv6

打开浏览器,输入网址 。若得到如下结果,就说明你的家庭宽带支持IPv6,然后我们去注册域名就可以了。

若得到的结果是不支持IPv6,就需要检查路由器或者光猫是否开启了IPv6。实在不行可以联系宽带维修师傅来帮忙检查一下。

(二)准备域名

推荐阿里云购买并注册域名,点击进行跳转。

(三)下载 aliddns.sh 文件

提取码:LV71

aliddns.sh文件的作用就是当NAS的IPv6地址重新分配之后,通知阿里云重新解析域名,将新的IPv6地址与域名重新绑定在一起。

(一)配置 aliddns.sh 文件

#引号里改成刚刚申请的AccessKeyId aliddnsipv6_ak="AccessKeyId" #引号里改成刚刚申请的Access Key Secret aliddnsipv6_sk="Access Key Secret" #引号里改成自定义一个名字,需要符合域名规范 aliddnsipv6_name1=www #引号里改成自己注册的域名 aliddnsipv6_domain=hongliang.tech aliddnsipv6_ttl="600" #举例,你在万网注册了一个域名叫hongliang.tech,那么aliddnsipv6_domain后面就填hongliang.tech,然后再自己想一个名字,比如nas,然后填到aliddnsipv6_name1后面,那么一会你访问群晖的地址就是http://nas.hongliang.tech:5000 if [ "$aliddnsipv6_name1" = "@" ] then aliddnsipv6_name=$aliddnsipv6_domain else aliddnsipv6_name=$aliddnsipv6_name1.$aliddnsipv6_domain fi now=`date` die () { echo $1 } ipv6s=`ip addr show eth0 | grep "inet6.*global" | awk {print $2} | awk -F"/" {print $1}` || die "$ipv6" ... ...

配置文件中的 AccessKeyId、Access Key Secret 都在阿里云里面获取,如下图: 如果是第一次进入,那就创建一个就OK啦。

将 aliddns.sh 文件中第20行的eth0 更改成自己的网卡名称。

ipv6s=`ip addr show eth0 | grep "inet6.*global" | awk {print $2} | awk -F"/" {print $1}` || die "$ipv6"

1). 首先要打开NAS的ssh通道:控制面板 > 终端机和SNMP,勾选启动SSH功能,端口号可以就用22。

2). 使用另一台电脑在局域网内通过ssh方式登录NAS系统,并输入 ipconfig 命令获取网卡配置。

root@DS918Plus:~$ ifconfig docker0 Link encap:Ethernet HWaddr 02:42:4A:AA:CD:37 inet addr:172.17.0.1 Bcast:172.17.255.255 Mask:255.255.0.0 inet6 addr: fe80::42:4aff:feaa:cd37/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:94579 errors:0 dropped:0 overruns:0 frame:0 TX packets:84042 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:8344591 (7.9 MiB) TX bytes:10967098 (10.4 MiB) eth0 Link encap:Ethernet HWaddr 00:11:32:12:34:66 inet addr:192.168.50.100 Bcast:192.168.50.255 Mask:255.255.255.0 inet6 addr: 240e:331:xxxx:xxxx:xxxx:xxxx:fe12:3466/64 Scope:Global inet6 addr: fe80::211:32ff:fe12:3466/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:34645943 errors:0 dropped:2 overruns:0 frame:0 TX packets:11287422 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:46488245824 (43.2 GiB) TX bytes:6033141548 (5.6 GiB) Interrupt:19 memory 0xd0680000-d06a0000 lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 inet6 addr: ::1/128 Scope:Host UP LOOPBACK RUNNING MTU:65536 Metric:1 RX packets:2525366 errors:0 dropped:0 overruns:0 frame:0 TX packets:2525366 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1 RX bytes:313537724 (299.0 MiB) TX bytes:313537724 (299.0 MiB)

其中 docker0是Docker容器的,不是我们需要的。我们只需要查找拥有inet6 addr: 240e:331:xxxx:xxxx:xxxx:xxxx:fe12:3466/64 Scope:Global 这段代码的网卡名称就可以了,所以我这里的是 eth0。 PS:

    inet6 addr: fe80::211:32ff:fe12:3466/64 Scope:Link这种是内网IPv6,网外是无法访问的。 240e:331:xxxx:xxxx:xxxx:xxxx:fe12:3466 这才是我们需要的IPv6地址。

进入阿里云控制台,解析域名,添加记录

    记录类型:AAAA 主机记录:与aliddns.sh文件中的aliddnsipv6_name1值要一样 记录值:NAS系统的IPv6地址 TTL:10分钟

步骤:控制面板 > 任务计划 > 新增 > 计划的任务 > 用户定义的脚本 设置每天每10分钟执行一次,如下图: 在任务设置中,设置执行 aliddns.sh 文件。需要全路径。 点击运行,执行一次该任务,等待阿里云解析完成,就可以通过IPv6访问了。

这是我的,只支持IPv6访问。

原文链接:http://www.5ityx.com/cate100/281736.html

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享