自建服务 · 2021年8月22日 1

在群晖上安装n2n组建虚拟局域网

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 创建容器

  1. 选中:使用高权限执行容器(若使用edge必须如此操作)
  2. 进入高级设置
  3. 选中:启用自动启动
  4. 选中:卷,进行添加文件:
    1. 文件(文件夹):my/docker/supernode.conf ;装载路径:/bin/supernode.conf 。
    2. 文件(文件夹):my/docker/edge.conf ;装载路径:/bin/edge.conf 。
  5. 进入网络,选中:使用与 Docker Host 相同的网络
  6. 检查完成后应用并开启容器

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.尝试浏览网页

检查运行状态并尝试浏览本地网页

若您有其他问题或者建议欢迎在评论区中留言。

心情表态
+1
0
+1
0
+1
0
+1
0
+1
0
+1
0