n2n是常用的开源虚拟局域网工具,本篇文章整理了在群晖上使用n2n的两种方法,您可选择合适的方法。这里推荐您使用第一种直接安装n2n在群晖实机上。
环境:
黑群晖 DSM 6.3.2
一、在群晖上直接安装n2n
1. 使用SSH连接至群晖
在控制面板中打开SSH连接,然后使用您的计算机连接至群晖。在您的Shell (Windows Power Shell) 中使用
ssh 用户名@群晖IP地址
以连接到群晖的命令行。
2. 下载适用于群晖的n2n程序及相关库
以下链接为n2n V2.8版本软件
2.1 对于群晖版本在6.1.7附近的用户
请您在刚刚打开的命令行中依次输入以下命令
sudo wget http://dl2.margrop.net:3166/?/network/n2n_2.8_stable/DSM6.1.7/edge -O /bin/edge
sudo wget http://dl2.margrop.net:3166/?/network/n2n_2.8_stable/DSM6.1.7/supernode -O /bin/supernode
sudo wget http://dl2.margrop.net:3166/?/network/n2n_2.8_stable/DSM6.1.7/libcrypto.so.1.1 -O /lib64/libcrypto.so.1.1
sudo wget http://dl2.margrop.net:3166/?/network/n2n_2.8_stable/DSM6.1.7/libssl.so.1.1 -O /lib64/libssl.so.1.1
2.2 对于群晖版本在6.2.3附近的用户
请您在刚刚打开的命令行中依次输入以下命令
sudo wget http://dl2.margrop.net:3166/?/network/n2n_2.8_stable/DSM6.2.3/edge -O /bin/edge
sudo wget http://dl2.margrop.net:3166/?/network/n2n_2.8_stable/DSM6.2.3/supernode -O /bin/supernode
sudo wget http://dl2.margrop.net:3166/?/network/n2n_2.8_stable/DSM6.2.3/libcrypto.so.1.1 -O /lib64/libcrypto.so.1.1
sudo wget http://dl2.margrop.net:3166/?/network/n2n_2.8_stable/DSM6.2.3/libssl.so.1.1 -O /lib64/libssl.so.1.1
3. 设置权限和系统
请依次使用以下命令
3.1 给予文件755权限
sudo chmod 755 /bin/edge
sudo chmod 755 /bin/supernode
sudo chmod 755 /lib64/libcrypto.so.1.1
sudo chmod 755 /lib64/libssl.so.1.1
3.2 给予文件运行权限
sudo chmod +x /bin/edge
sudo chmod +x /bin/supernode
sudo chmod +x /lib64/libcrypto.so.1.1
sudo chmod +x /lib64/libssl.so.1.1
3.3 重要:打开tuntap模块
如果出现“tuntap open() error: No such file or directory[2]. Is the tun kernel module loaded?”那么必须要检查这一步,不进行就会出错!!(在docker内安装同样如此)
输入以下命令启动Linux内核中tuntap模块:
insmod /lib/modules/tun.ko
4.尝试运行n2n
4.1 启动Supernode
此部分与Linux上命令行一致
supernode -l 端口号 -f -v
此处的端口是UDP协议
4.2 启动edge
此部分与Linux上命令行一致
edge -d 虚拟网卡名 -a IP地址 -c 组 -k 密钥 -l Supernode的地址 -f
- 虚拟网卡名:n2n创建的虚拟网卡显示名称。
- IP地址:您希望本机在虚拟局域网的IP地址,避免与已有设备重复。
- 组:所有设备必须在同一组下,组名自定,避免与已有组重名
- 密钥:您自定义的密钥,所有连在同一组的设备都必须使用同一密钥
- Supernode的地址:您4.1中设置的supernode的地址。若是本机则为127.0.0.1:端口号,若是转发或穿透到外网则为 外网IP/域名:端口号。
5.尝试浏览网页
检查运行状态并尝试浏览本地网页
“在群晖上直接安装n2n”部分参考Github上“魔都水滴”中的内容,下载链接来自dl.margrop.net,感谢原作者。
若以上下载链接失效请在下方回复联系
二、使用docker运行n2n
1.创建并设置配置文件
打开文件管理器,进入到my>docker目录后创建两个文件
1.1 Supernode配置文件
新建名为supernode.conf的文件,内容为
-p 7000
-v
-f
1.2 edge配置文件
新建名为edge.conf的文件,内容为
-a IP地址
-c 组
-k 密钥
-l Supernode的地址
-r
-f
- IP地址:您希望本机在虚拟局域网的IP地址,避免与已有设备重复。
- 组:所有设备必须在同一组下,组名自定,避免与已有组重名
- 密钥:您自定义的密钥,所有连在同一组的设备都必须使用同一密钥
- Supernode的地址:您4.1中设置的supernode的地址。若是本机则为127.0.0.1:端口号,若是转发或穿透到外网则为 外网IP/域名:端口号。
3.3 重要:打开tuntap模块
如果出现“tuntap open() error: No such file or directory[2]. Is the tun kernel module loaded?”那么必须要检查这一步,不进行就会出错!!(在docker内安装同样如此)
输入以下命令启动Linux内核中tuntap模块:
insmod /lib/modules/tun.ko
2.创建并编辑docker容器
打开docker应用(此处介绍使用群晖自带docker管理面板进行操作)
2.1 拉取n2n容器映像
点击“映像”,搜索以下名称
yingftf/n2n
此映像中包含edge和supernode。
2.2 创建容器
- 选中:使用高权限执行容器(若使用edge必须如此操作)
- 进入高级设置
- 选中:启用自动启动
- 选中:卷,进行添加文件:
- 文件(文件夹):my/docker/supernode.conf ;装载路径:/bin/supernode.conf 。
- 文件(文件夹):my/docker/edge.conf ;装载路径:/bin/edge.conf 。
- 进入网络,选中:使用与 Docker Host 相同的网络
- 检查完成后应用并开启容器
2.3 打开tuntap模块
如果出现“tuntap open() error: No such file or directory[2]. Is the tun kernel module loaded?”那么必须要检查这一步,不进行就会出错!!
输入以下命令启动Linux内核中tuntap模块:
insmod /lib/modules/tun.ko
3.尝试浏览网页
检查运行状态并尝试浏览本地网页
若您有其他问题或者建议欢迎在评论区中留言。
可以考虑tinc