使用n2n实现内网访问

概述

n2n可以绕开常规的防火墙策略,构建一个虚拟vpn通道,实现不同网段之间的网络打通。
n2n的版本很多,有v1、v2、v2s等大版本,大版本间不兼容。大版本内部又有小版本。
经过测试v1和v2s版本的稳定性和网速会比较好。我一般使用v2s版本。

基本要求:

1.双方都能访问互联网(废话)。
2. 两侧网络网关均为Cone NAT。(要实现直连必须要求直连两端的网络网关均要求为Cone NAT类型。任何一侧为Symmetric NAT时只能通过supernode节点转发数据,网速会慢很多。)
3. 有一个supernode节点。

edge启动命令

edge -d edge0 -a 本节点IP -s 子网掩码 -m MAC地址(最好指定) -c 分组名 -k 密码 -l supernode地址:端口  -b -r -E -f

例  edge -d edge0 -a 10.11.11.200 -s 255.255.255.0 -c test -k testpass -l xxx.xxx.com:10088 -b -r -E -f -m 76:48:31:9F:34:2C

内网穿透步骤

搭建supernode

可以自己搭建supernode(如果有公网IP,强烈建议),或者使用外网的共有supernode

配置内网节点

1.内网启动edge,可以手动启动或者加入到开机脚本。
2.内网节点开启路由转发
windows系统:将内网网卡开启共享,共享目标为虚拟的TAP网卡就可以开启路由。
Linux系统:开启防火墙的端口转发功能。

以centos7为例,配置firewalld防火墙规则。
首先将虚拟网卡edge0加入external zone:
firewall-cmd --change-interface=edge0 --zone=external --permanent
开启firewalld的路由转发
firewall-cmd --permanent --zone=public --add-masquerade

配置本机节点

1.本机开启edge,可以使用脚本启动。如果是windows客户端,可以使用winn2n等客户端工具。
edge节点启动后,ping一下远端内网节点的ip地址,确认已经连接成功。
2.添加本地路由

windows:
route add ‘目标网段的内网地址’  mask ‘子网掩码’ ‘远端n2n节点IP’ 
如果要添加永久路由,使用-p参数
	例 route add 172.10.0.0 mask 255.255.0.0 10.11.11.200 -p

linux

route add -net '目标网段IP'/子网掩码位数 [内网网卡] gw '远端n2n节点IP'
	例 route add 172.10.0.0/16 gw 10.11.11.200
如果要添加永久路由,将脚本写入开机脚本,如/etc/rc.d/rc.local

ping一下远端内网的任意IP,判断是否连接成功。

只把一些基本的逻辑罗列了一下,详细的配置方法后续再补充,或者大家自己问度娘。

IT干了十几年,第一次想起来写博客整理自己的知识点。实在是out了。关键是第一篇博客写的竟然是网络。。。还只是列了列目录。革命尚未成功,同志仍需努力。

猜你喜欢

转载自blog.csdn.net/wangjm1982/article/details/101369656
N!