前言 玩NAS都知道拥有一台群晖有多香,大多数朋友入坑前都会选择自己组建一台,毕竟一台配置像样点的群晖价格不菲,而自己组建的群晖就无法享受群晖的QuickConnec服务,也就无法外网访问,要做到外网访问家中的群晖就要做内网穿透,然而目前大部分家庭宽带运营商都不会提供公网IP,那么有其他的办法吗?答案的肯定的,方法很多,要么要钱、要么不稳定、要么限流、要么门槛很高,作为一个本着追求完美,能白嫖绝不花一个大洋的头条博主今天就带着大家使用Docker安装ZeroTier实现内网穿透。 ZeroTier是一款利用UDP打洞来实现内网穿透的工具,工作原理是组建一个虚拟局域网,各个设备(NAS、Linux、Windows、Mac、iOS、Android)安装客户端,加入到这个虚拟局域网后,就会自动分配一个IP,从而实现局域网内各个设备及服务的相互访问!相比其他工具成功率更高、部署更简单。最重要的它是免费的,最大支持25个设备连接。 项目地址:https:github。comzerotierZeroTierOne准备工作 1、注册ZeroTier,获取NetWorkID 访问:https:my。zerotier。com(如果ZeroTier网站加载不出来,需要一点耐心多尝试几次,或用手机移动网络访问) 由于某些因素,建议使用Microsoft注册 记住上面的NetWordID号,它就是各设备加入这个虚拟网的钥匙。 详细的ZeroTier注册及设置后续我再单独出教程! 2、群晖安装Docker 这个简单就不细说了,登录你的群晖在官方套件中心找到Docker点击安装即可。 3、使用SSH链接你的群晖 控制面板终端机和SNMP启动SSH功能(安全起见,使用后记得关闭) Windows使用PuTTY(工具下载:https:www。chiark。greenend。org。uksgtathamputtylatest。html),如果您用的是MAC,直接使用终端即可。 至此准备工作已做完安装ZeroTier 1、打开PuTTY,输入群晖IP与端口号,点击Open 正常情况下弹出一个黑窗,如果是第一次使用可能会弹安全确认窗,点确认或继续即可。 2、黑窗中输入您的群晖登录名,按回车键再输入密码,注意输入密码过程中界面什么也不显示这是正常的,输完按回车建即可; 4、出现登录名群晖名称即表示登录成功,接着输入sudoi,回车再输入一遍密码,切换为root身份;sudoi 5、创建一个usrlocaletcrc。dtun。sh脚本到devnettun目录下(复制以下脚本,粘贴到黑窗,按回车键提交)echoe!binsheninsmodlibmodulestun。kousrlocaletcrc。dtun。sh 6、给刚刚创建的tun脚本授予所有用户均可执行的权限chmodaxusrlocaletcrc。dtun。sh 7、使用以下命令检查以下tun。ko是否存在lsmodgreptun 如图表示存在,我的群晖默认已经有tun这个包,不需要安装,直接用即可,若以上命令找不到tun这个包,则执行以下脚本,创建tun,然后再执行上一个段脚本检查是否存在;usrlocaletcrc。dtun。sh 8、检查TUN的运行状态lsdevnettun 9、创建一个zerotier文件夹用于挂载zerotierone的配置文件和认证信息(注意这里的路径是在我的docker路径下)mkdirvolume1dockerzerotier 你也可以直接在群晖FileStation上创建,然后查看文件夹属性,获取实际路径(建议使用这步,比较直观,不容易出错) 10、创建一个容器,这里将它命名为zt,这里会自动下载最新版的zerotier(注意最后一行脚本中的volume1dockerzerotier是否为上一步创建zerotier文件夹的地址);dockerrundnameztrestartalwaysdevicedevnettunnethostcapaddNETADMINcapaddSYSADMINvvolume1dockerzerotier:varlibzerotieronezerotierzerotiersynology:latest 执行完,出现一串检验码即表示镜像部署启动成功,回到群晖管理页面,打开Docker容器,既可以看到多了一个群晖镜像; 配置zerotierone加入您的虚拟网络 1、使用以下命令检查zerotierone的运行状态dockerexecitztzerotierclistatus 如图,显示200info表示zerotier运行成功。 2、使用以下命令加入你的zerotierone网络(其中后面的换成你自己的zerotierone生成的NetWorkID)dockerexecitztzerotierclijoin 当看到200joinOK,既是表示加入网络成功,这时候登录zerotier控制台,即可看到网络列表多了一条未授权加入的网络; 勾选允许,获取到ip即可通过此ip访问; 为其他(需要访问群晖的)设备安装zerotier 拿Android手机为例,通过下方链接下载APP(其他平台设备请访问官网下载对应客户端)https:download。zerotier。comdistZeroTierOne。apk 1、手机打开zerotier 点击右上角加号icon,添加NetWordID号加入虚拟网络 添加成功后,点击下图开关打开(记得访问https:my。zerotier。com勾选允许),点击行可以查看详情 手机状态栏会出现一把钥匙icon即表示成功 最后如果您在家里就关闭wifi使用移动网络试一试吧! 升级ZeroTier 升级zerotier需要先停止容器,并且移除容器,然后再拉取最新的容器: 1、查看zerotierone状态信息:dockerps 显示信息: CONTAINERIDIMAGECOMMANDCREATEDSTATUSPORTSNAMES 25ijo525df3435zerotierzerotiersynology:latestzerotierone5weeksagoUp9dayszt 停止容器(注意id)dockerstop25ijo525df3435 移除容器(使用rm)dockercontainerrm25ijo525df3435 拉取最新的容器dockerpullzerotierzerotiersynology:latest 然后再回到上面第10步创建的步骤。 写在最后:能看到这的那一定是真爱,既如此求点点赞点点关注吧!后续带给大家更多好玩、有趣、免费的教程,带您白嫖到底!