这几天一直忙于网络传输,突然看到N2N的网络传输,对于现在的项目很有帮助,就对其认真的研究了一下,最后还是感谢bugxia大神的支持,终于搞定了设备的设置,实现了不同网络之间建立虚拟网络,进行虚拟局域网数据传输,参考bugxia大神贴地址。OpenWRT下使用N2N组建虚拟局域网(网对网) | Bug侠
想法、电脑通过4G上网和在线的设备进行局域网数据通讯。
本次设置是基于LEDE的系统,我使用的是MTK7621的平台,具体可以查看openwrt刷固件,很多的,我是基于Linux 自己编译的(这个也折腾了我好久)。
想法是电脑A在任何地方都能访问路由器B下面的所有设备,路由器下的设备数据也能回传给电脑A。
一、电脑A端设置
使用N2N客户端,建立N2N的虚拟网络,IP地址为192.168.201.12,参数如下:需要加入-r的附加参数
参数说明
#参数 -a 为指定一个虚拟局域网IP
#参数 -c 为指定一个组名称
#参数 -l 为服务端IP:端口
#参数 -f 表示前台运行(方便调试,待一切正常后,可以去掉-f参数,使其后台运行)
#参数 -r 表示允许数据包在同虚拟小组间转发
添加路由表!!!(这个很重要,不然无法访问路由下的设备!!)管理员方式运行命令界面,这里要理解的是路由表的作用。相当于NAT规则,将路由B的子网网络,转换到这边的虚拟网络中,比如路由器的内部子网内部IP网段是192.168.200.X,转换到路由器的虚拟路由器IP(192.168.201.1(路由器虚拟地址)),所以命令是:
路由客户端IP地址 子网掩码 路由器的虚拟IP
route add 192.168.200.0 mask 255.255.255.0 192.168.201.1
二、路由B设置
首先设置局域网内部IP地址,(这里比较简单不多说,只讲一下重点)。
配置内部路由表(或者添加转发规则,功能是一样的,作用就是将内网数据直接转发到虚拟网络IP。)
添加虚拟网络进入接口,网络--》接口--》添加新接口,基本设置选择-不配协议
整个设置完成,如果需要ping的话,需要防火墙关闭,我这边直接进行数据传输。使用sockettools,
服务器架设在路由器B下的电脑上。
客户端架设电脑A,进行连接。