N2N 配置

一个 N2N VPN 由两类节点组成:边缘(edge)节点和超级(super)节点。一个边缘节点是一台连接到 VPN 的电脑,它可能在一个 NAT 路由器后方。一个超级节点则是拥有一个可以公共访问的 IP 地址的电脑,它将会帮助 NAT 后方的边缘节点进行初始通信。想要在用户中创建一个 P2P VPN 的话,我们需要至少一个超级节点。假设这个超级节点的 IP 地址是 1.1.1.1

超级节点:

在一个作为超级节点的电脑上运行下面的命令。其中“-l <端口>”指定超级节点的监听端口。运行 supernode 并不需要 root 权限。
  1. $ supernode -l 5000

边缘节点:

在每个边缘节点上,使用下面的命令来连接到一个 P2P VPN。edge 守护程序将会在后台运行。
边缘节点 #1:
  1. $ sudo edge -d edge0 -a 10.0.0.10 -c mynetwork(小组名,同一局域网相同) -u 1000 -g 1000 -k password(密码) -l 1.1.1.1:5000 -m ae:e0:4f:e7:47:5b
边缘节点 #2:
  1. $ sudo edge -d edge0 -a 10.0.0.11 -c mynetwork -u 1000 -g 1000 -k password -l 1.1.1.1:5000 -m ae:e0:4f:e7:47:5c
下面是对命令行的一些解释:
  • “-d <接口名>”选项指定了由 edge 命令创建的 TAP 接口的名字。
  • “-a <IP地址>”选项(静态地)指定了分配给 TAP 接口的 VPN 的 IP 地址。如果你想要使用 DHCP,你需要在其中一台边缘节点上配置一台 DHCP 服务器,然后使用“-a dhcp:0.0.0.0”选项来代替。
  • “-c <组名>”选项指定了 VPN 组的名字(最大长度为 16 个字节)。这个选项可以被用来在同样一组节点中创建多个 VPN。
  • “-u”和“-g”选项被用来在创建一个 TAP 接口后降权放弃 root 权限。edge 守护进程将会作为指定的用户/组 ID 运行。
  • “-k <密钥>”选项指定了一个由 twofish 加密的密钥来使用。如果你想要将密钥从命令行中隐藏,你可以使用 N2N_KEY 环境变量。
  • “-l <IP地址:端口>”选项指定了超级节点的监听 IP 地址和端口号。为了冗余,你可以指定最多两个不同的超级节点(比如 -l <超级节点 A> -l <超级节点 B>)。
  • “-m ”给 TAP 接口分配了一个静态的 MAC 地址。不使用这个参数的话,edge 命令将会随机生成一个 MAC 地址。事实上,为一个 VPN 接口强制指定一个静态的 MAC 地址是被强烈推荐的做法。否则,比如当你在一个节点上重启了 edge 守护程序的时候,其它节点的 ARP 缓存将会由于新生成的 MAC 地址而遭到污染,它们将不能向这个节点发送数据,直到被污染的 ARP 记录被消除。

 windows配置方法

启动客户端和服务端需要相应的参数,不能直接双击启动。需要事先安装好TAP网卡,在放有edge.exe文件的文件夹里新建一个文本文件​​startup.bat​,用编辑器打开并填入以下内容,按实际情况修改对应的内容。

边缘节点:cmd /k edge.exe -c mynet -k mypass -a 192.168.100.5 -l 110.16.*.*:12000

超级节点:supernode -l 12000

-a 分配给 TAP 接口的 VPN 的 IP 地址

 -l 超级节点的ip和端口

 -c 组建同一局域网小组名

 -k 组建同一局域网密码

运行的时候,只需要右键已管理员身份运行这个​​startup.bat​​,必须是管理员身份,因为这行命令会需要修改网卡的配置。收到注册ACK并且获取到配置的ip时就成功了。  

  

  

 至此,你应该能够从一个边缘节点用 VPN IP 地址 ping 通另一个边缘节点了。

 
posted @ 2024-09-06 09:53  ~蓝蜻蜓~  阅读(619)  评论(0)    收藏  举报