黑群晖(DSM7)使用docker挂载zerotier one实现内网穿透
前言:由于Synology 的 DSM 7 不允许第三方应用程序以 root 用户身份运行。所以DSM7以上的版本将只能使用docker的方式来安装zerotier(而DSM6的zerotier将在2023年进入EOL阶段(停止服务),且用且珍惜吧。
通过docker安装zerotier主要分为以下四个步骤:
1、在nas启动ssh访问;
2、创建TUN服务;
3、安装docker服务(群晖套件直接安装即可,这里略过);
4、拉取并启动zerotier one镜像;
5、将zerotier-one镜像加入你的网络,并添加moon节点
在nas启动ssh访问
在群晖页面控制面板下,找的“终端机和SNMP”这一项,把“启动SSH功能”勾上即可,默认使用22端口即可;
之后使用远程访问工具(我这里使用putty)登录群晖;
创建TUN服务
首先切换到root用户(以下所有的操作都需要有root权限)
sudo -i
创建一个 /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
给刚刚创建的tun脚本授予所有用户均可执行的权限
chmod a+x /usr/local/etc/rc.d/tun.sh
使用以下命令检查以下tun.ko是否存在
lsmod | grep tun
由于我的群晖默认已经有tun这个包了,所以就不需要安装,直接用即可,如果使用lsmod
命令找不到tun这个包,则执行以下脚本,创建TUN
/usr/local/etc/rc.d/tun.sh
如果执行脚本遇到以下报错,说明tun.ko模块可能已存在,不需要重新编译
检查一下 TUN
ls /dev/net/tun
如果您在让TUN工作时遇到困难,请查看Rui Marinho的指南
创建zerotier镜像
创建一个文件夹用于挂载zerotier-one的配置文件和认证信息(我这里路径指定到我自己创建的docker/zerotier文件夹下)
mkdir /volume1/docker/zerotier
这里也可以直接在群晖file Station上创建,然后再文件夹属性中获取实际路径(建议使用这步,比较直观,不容易出错)
以下是zerotier官方给的注意:
In the next step we bind mount to the host's created above in order to store ZeroTier's identity. This is not guaranteed to survive DSM updates. I would suggest placing this on an automatically-mounted volume where your other private user data resides. The location you choose to store your identities should be kept secure and never placed on a shared volume that others can access.
/var/lib/zerotier-one
译文版本:
在下一步中,我们将装载绑定到上面创建的主机,以存储ZeroTier的身份(我的理解是config配置和用户信息)。这不能保证在 DSM 更新后仍然有效(zerotier自己也不确定,为了群晖更新后,会不会不再允许用户使用zerotier做内网穿透,毕竟DSM7之后,群晖直接不再支持zerotier的套件了,可能zerotier自己也感觉后续可能会被不再支持,故在此给用户打个预防针)。zerotier建议将其放在其他私人用户数据所在的自动装载卷上。您选择存储身份(用户信息和config信息)的位置应保持安全,切勿放置在其他人可以访问的共享卷上。
构建zerotier-one镜像 (Repo: zerotier/zerotier-synologyzt
)
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
执行完,出现一串检验码即表示镜像部署启动成功,回到群晖管理页面,既可以看到多了一个群晖镜像;
配置zerotier-one加入网络,并配置moon节点
配置zerotier-one加入网络
使用以下命令检查zerotier-one的运行状态
docker exec -it zt zerotier-cli status
再使用以下命令加入你的zerotier-one网络(其中后面的e5cd7a9e1cae134f换成你自己的zerotier-one生成的网络id)
docker exec -it zt zerotier-cli join e5cd7a9e1cae134f
当看到200 join OK,既是表示加入网络成功,这时候登录zerotier控制台,即可看到网络列表多了一条未授权加入的网络,勾选允许其加入即可;
接下来在为docker环境下的zerotier-one添加moon节点
这个比较简单,直接在群晖file station下,找到你上面创建的docker文件夹下的zerotier文件夹,将你的moon.d拖拽进入即可
最后,重启zerotier docker容器,在ssh端执行以下命令,检查moon节点是否加载成功(看到多了moon的那行即表示成功)
docker exec -it zt zerotier-cli listpeers
最后在手机上使用zerotier分配的ip即可顺便在4G网络下接入局域网内的群晖了(前提是你的手机需要先安装zerotier客户端,并已加入同一个网络id)
黑群晖(DSM7)使用docker挂载zerotier one实现内网穿透相关推荐
- 黑群晖6.21无公网IP无域名内网穿透教程
黑群晖6.21无公网IP无域名免费内网穿透教程 鼓捣黑群晖的起因,由于生了二胎,照片视频大量数据没有存储.闲来无事,准备解决大量照片存储问题.在咸鱼收了一块二手硬盘6T红盘. 但是问题来了,家里没有台 ...
- 将群晖NAS搭建的网站发布上线【内网穿透】——上(7.X版)
系列文章 如何在群晖NAS上安装cpolar内网穿透(群晖7.X版) 内网穿透远程群晖NAS--上篇(7.X版) 内网穿透远程群晖NAS--下篇(7.X版) 将群晖NAS搭建的网站发布上线[内网穿透 ...
- 给群晖6.2.4(NAS)实现免费的内网穿透_以zerotier-One实现
一.实现效果 ①实现通过外网访问家里的群晖NAS,随时方便访问调取自己家里的群晖资料.视屏等资源. ②实现群晖重启后依然能够启动zerotier-one服务,让外网能够访问. 二.实现方法 2.1.需 ...
- 异地远程连接在家里的群晖NAS【无公网IP,免费内网穿透】
群晖NAS,少不了有在外网远程访问的需求.尽管群晖有自带的QuickConnect,但是使用起来不是很理想,而且,现在基本不会被分配到公网IP,个人被分配到的基本都是内网IP. 而在没有公网IP的情况 ...
- 黑群晖从入门到入土,自编译适合自己硬件的黑群晖7.1.x引导(黑群晖DSM7.X引导用arpl编译教程)
写在前面的话 没啥好说的,只需要感谢在GitHub上开源代码的巴西老哥就好,好了废话不多说直接开始. 黑群晖DSM7.X引导用arpl编译教程 写在前面的话 一.需要的软硬件清单 二.制作引导盘 1. ...
- [黑群晖]DSM7.1 ds3617xs 志强e3 1265lv3 b85保姆级安装教程
[黑群晖]DSM7.1 ds3617xs 志强e3 1265lv3 b85保姆级安装教程 鉴于网上几乎没有志强cpu安装的教程,我走了相当多的弯路,不一定适合你的cpu,但是有一些小问题的解决办法,可 ...
- 黑群晖安装ZEROTIER ONE实现内网穿透
黑群晖安装ZEROTIER ONE实现内网穿透 ZeroTier One的原理是虚拟出一块网卡,连上一个虚拟网络,安装了ZeroTier One客户端的设备可以连入这个网络,经过授权连接成功之后彼此都 ...
- 群晖网络不通_群晖系统安装zerotier one进行内网穿透过程中常见问题及解决方法...
群晖系统安装zerotier one进行内网穿透过程中常见问题及解决方法 2020-07-28 17:27:39 21点赞 330收藏 31评论 zerotier one是一款很好用的P2P内网穿透软 ...
- 【转载】无公网IP搞定群晖+ZEROTIER ONE实现内网穿透
前言 最近刚开始折腾群晖,从5.2到6.0再到5.2再到6.1,期间过程曲折复杂,血泪交融,参考了无数文章,重启了无数次机器,拷贝了无数文件,以及损失了无数数据.再次提醒大家,数据一定要做好备份,一定 ...
最新文章
- 整体管理6个过程及相关重点
- 2019牛客暑期多校训练营(第七场)D Number(思维)
- fcntl函数之文件锁 F_SETLKW
- Netty入门(一)环境搭建及使用
- linux文件挂载和卸载命令,Linux基础命令(八)——挂载、卸载文件系统
- 链接ftp,把文件或图片上传到ftp指定的文件夹中
- hnu 暑期实训之Maya历法
- 工作中 linux 常用命令:vi、cp、mv、rm、kill、curl、tail
- centos7上克隆虚拟机后设置静态IP无效的解决方法
- 参考文献格式字号字体_参考文献用什么字体字号 参考文献标准格式字体
- java解析micaps_9210的Micaps第13类卫星云图数据
- 背包问题贪心算法求解
- Django实战教程
- 最小二乘法的计算过程
- 拉东(Radon)变换
- 分光器尺寸及光损耗计算
- ENVI/SARscape软件处理问题小结
- DateDiff函数的使用
- floor puzzles
- 把hao123网页用html写出来,hao123改版之用户体验