玩nas都知道拥有一台群晖有多香,大多数朋友入坑前都会选择自己组建一台,毕竟一台配置像样点的群晖价格不菲,而自己组建的群晖就无法享受群晖的quickconnec服务,也就无法外网访问,要做到外网访问家中的群晖就要做内网穿透,然而目前大部分家庭宽带运营商都不会提供公网ip,那么有其他的办法吗?答案的肯定的,方法很多,要么要钱、要么不稳定、要么限流、要么门槛很高,作为一个本着追求完美,能白嫖绝不花一个大洋的头条博主今天就带着大家使用docker安装zerotier实现内网穿透。
zerotier是一款利用 udp 打洞来实现内网穿透的工具,工作原理是组建一个虚拟局域网,各个设备(nas、linux、windows、mac、ios、android)安装客户端,加入到这个虚拟局域网后,就会自动分配一个ip,从而实现局域网内各个设备及服务的相互访问!相比其他工具成功率更高、部署更简单。最重要的它是免费的,最大支持25个设备连接。
项目地址:https://github.com/zerotier/zerotierone
1、注册zerotier,获取network id
访问:https://my.zerotier.com (如果zerotier网站加载不出来,需要一点耐心多尝试几次,或用手机移动网络访问)
由于某些因素,建议使用microsoft注册
记住上面的netword id号,它就是各设备加入这个虚拟网的钥匙。
详细的zerotier注册及设置后续我再单独出教程!
2、群晖安装docker
这个简单就不细说了,登录你的群晖在官方套件中心找到docker点击安装即可。
3、使用ssh链接你的群晖
控制面板——终端机和snmp——启动ssh功能(安全起见,使用后记得关闭)
windows使用putty(工具下载:https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html),如果您用的是mac,直接使用终端即可。
至此准备工作已做完
1、打开putty,输入群晖ip与端口号,点击“open”
正常情况下弹出一个黑窗,如果是第一次使用可能会弹安全确认窗,点确认或继续即可。
2、黑窗中输入您的群晖登录名,按回车键再输入密码,注意输入密码过程中界面什么也不显示这是正常的,输完按回车建即可;
4、出现登录名@群晖名称即表示登录成功,接着输入sudo -i,回车再输入一遍密码,切换为root身份;
sudo -i
5、创建一个/usr/local/etc/rc.d/tun.sh 脚本到/dev/net/tun 目录下(复制以下脚本,粘贴到黑窗,按回车键提交)
echo -e '#!/bin/sh -e ninsmod /lib/modules/tun.ko' > /usr/local/etc/rc.d/tun.sh
6、给刚刚创建的tun脚本授予所有用户均可执行的权限
chmod a x /usr/local/etc/rc.d/tun.sh
7、使用以下命令检查以下tun.ko是否存在
lsmod | grep tun
如图表示存在,我的群晖默认已经有tun这个包,不需要安装,直接用即可,若以上命令找不到tun这个包,则执行以下脚本,创建tun,然后再执行上一个段脚本检查是否存在;
/usr/local/etc/rc.d/tun.sh
8、检查tun的运行状态
ls /dev/net/tun
9、创建一个zerotier文件夹用于挂载zerotier-one的配置文件和认证信息(注意这里的路径是在我的docker路径下)
mkdir /volume1/docker/zerotier
你也可以直接在群晖file station上创建,然后查看文件夹属性,获取实际路径(建议使用这步,比较直观,不容易出错)
10、创建一个容器,这里将它命名为zt,这里会自动下载最新版的zerotier(注意最后一行脚本中的“/volume1/docker/zerotier”是否为上一步创建zerotier文件夹的地址);
docker run -d
--name zt
--restart=always
--device=/dev/net/tun
--net=host
--cap-add=net_admin
--cap-add=sys_admin
-v /volume1/docker/zerotier:/var/lib/zerotier-one zerotier/zerotier-synology:latest
执行完,出现一串检验码即表示镜像部署启动成功,回到群晖管理页面,打开docker-容器,既可以看到多了一个群晖镜像;
1、使用以下命令检查zerotier-one的运行状态
docker exec -it zt zerotier-cli status
如图,显示“200 info…”表示zerotier运行成功。
2、使用以下命令加入你的zerotier-one网络(其中后面的**********换成你自己的zerotier-one生成的network id)
docker exec -it zt zerotier-cli join **********
当看到200 join ok,既是表示加入网络成功,这时候登录zerotier控制台,即可看到网络列表多了一条未授权加入的网络;
勾选允许,获取到ip即可通过此ip访问;
拿android手机为例,通过下方链接下载app(其他平台设备请访问2024欧洲杯投注官网下载对应客户端)
https://download.zerotier.com/dist/zerotierone.apk
1、手机打开zerotier
点击右上角加号icon,添加netword id号加入虚拟网络
添加成功后,点击下图开关打开(记得访问https://my.zerotier.com勾选允许),点击行可以查看详情
手机状态栏会出现一把“钥匙“icon即表示成功
最后如果您在家里就关闭wifi使用移动网络试一试吧!
升级zerotier需要先停止容器,并且移除容器,然后再拉取最新的容器:
1、查看zerotier-one状态信息:
docker ps
显示信息:
container id image command created status ports names
25ijo525df3435 zerotier/zerotier-synology:latest "zerotier-one" 5 weeks ago up 9 days zt
停止容器(注意id)
docker stop 25ijo525df3435
移除容器(使用rm)
docker container rm 25ijo525df3435
拉取最新的容器
docker pull zerotier/zerotier-synology:latest
然后再回到上面第10步创建的步骤。
写在最后:能看到这的那一定是真爱,既如此求点点赞点点关注吧!后续带给大家更多好玩、有趣、免费的教程,带您白嫖到底!
投稿时间:2023-03-14 最后更新:2023-03-15
本站资料均由网友自行发布提供,仅用于学习交流。如有欧洲杯线上买球的版权问题,请与我联系,qq:4156828
© 欧洲杯线上买球 copyright 2008-2023 all rights reserved. powered by 欧洲杯线上买球-2024欧洲杯投注官网