背景

n2n v+p+n 其实与 pptp v+p+n 有类似的一面,都是一种点对点的局域网,所不同的是,n2n 可以建立点与点之间的直连,而 pptp 局域网内通讯的全部流量都必须走中心节点。pptp可以实现点对忘的连接,n2n应该也可以实现。

原理

一台edge服务器充当’网关’角色,另外的edge服务器配置路由表,让内网的ip走指定的网关,就能达到在edge端的电脑上实现直接访问内网的ip。

服务端edge服务器信息

centos 7 X86_64

n2n版本

v2s

服务端edge配置

  • 在n2n客户端(edge)上面(linux)开启转发功能
vi /etc/sysctl.conf
#net.ipv4.ip_forward = 1 #将前面的#删除后保存退出

执行sysctl -p让刚刚修改的信息生效

  • 调整centos7的防火墙

由于对centos7默认的防火墙firewalld不熟悉,我们关闭firewalld,安装iptables防火墙

#停止firewalld服务
systemctl stop firewalld

#禁止firewalld服务自启动
systemctl disable firewalld

#安装iptables防火墙
yum -y install iptables-services
  • 对iptables进行初始化工作
#清空filter表
iptables -F

#清空nat表
iptables -t nat -F

#默认允许所有传出连接
iptables -P OUTPUT ACCEPT

#允许环回接口的传入连接
iptables -A INPUT -i lo -j ACCEPT

#允许已建立的传入连接
iptables -t nat -A POSTROUTING -j MASQUERADE
  • 保存iptables配置
iptables-save > /etc/sysconfig/iptables
  • 启动iptables
systemctl start iptables
  • 开机自动启动iptables
systemctl enable iptables

客户端edge配置

  • 正常启动edge,确认能访问内网edge的ip

  • 配置路由表

windows

  route add -p 192.168.1.0(需要连接的内网网段) MASK 255.255.255.0 192.168.5.6(n2n的edge服务端ip)
  -p: 为当前Windows系统路由列表中永久添加一条静态路由,重启系统依然有效,如果不需要静态路由,添加路由时去掉-p参数。

linux

  route add -net 192.168.1.0(需要连接的内网网段) netmask 255.255.255.0 gw 192.168.5.6(n2n的edge服务端ip)
  • 验证,在配置路由表的电脑上ping内网的ip