OpenWRT下使用N2N组建虚拟局域网(点对网)
之前写了一篇 OpenWRT下使用N2N组建虚拟局域网,今天记录一下高级一点的玩法
一、能实现啥
比如前文所说,我在家里的路由器上、公司的台式机上分别跑的N2N,并且已成功组建虚拟局域网
也就是说,目前我已经可以在公司成功访问到家里的路由器
现在我想通过公司的台式机,不光能访问到路由器,还想访问到挂在路由器下的NAS,该怎么办?
方案1:NAS上也启动N2N,并指定一个IP
方案2:往下看
二、开始折腾
台式机
在EasyN2N的附加参数中,直接添加 -r
参数,保存重启N2N
路由器
edge的启动命令中加入 -r 参数
#参数 -a 为指定一个虚拟局域网IP
#参数 -c 为指定一个组名称
#参数 -l 为服务端IP:端口
#参数 -f 表示前台运行(方便调试,待一切正常后,可以去掉-f参数,使其后台运行)
#参数 -r 表示允许数据包在同虚拟小组间转发
edge -a 192.168.123.1 -c bugxia -l 77.77.77.77:9527 -f -r
此时,还不能正常访问到对方物理局域网下的设备,需要添加路由表
三、路由表
Windows
管理员权限执行CMD
先捋一下,我的物理局域网下设备(NAS等)分配的是 192.168.3.x
的IP,比如NAS 真实局域网IP为 192.168.3.202
现在,我想在公司的台式机上,通过N2N,访问到NAS,那么添加路由表的命令就可以这样写
route add 192.168.3.0 mask 255.255.255.0 192.168.123.3
中文意思:任何目的地为 192.168.3.x(我家里的真实局域网设备) 的数据包,都会经过 192.168.123.3(我路由器的虚拟局域网IP) 网关来转发
OpenWRT
回到家里的路由器这边,因为OpenWRT涉及一些防火墙的规则,会导致单边不通,所以需要在路由器这边的防火墙中添加放行规则
不啰嗦,直接上命令
#修改为自己的虚拟局域网IP段
iptables -t nat -A POSTROUTING -s 192.168.123.0/24 -j MASQUERADE
iptables -A forwarding_rule -s 192.168.123.0/24 -j ACCEPT
四、测试
在公司台式机上直接访问家里的NAS http://192.168.3.202:5000/
28 条评论
开启-r转发的意义是什么呢?外部pc主机的虚拟网络流量不都是要进入内网nas进行访问的嘛?什么时候涉及到流量转发呢?
@zxshxz
搞清楚了,我理解错了input和forward,我把访问路由器下子网的流量理解为了input,实际是forward。input应该是访问部署在路由器本身的服务。
您好,能问下,老毛子固件里怎么架设N2N的服务器吗。经常跟朋友联机。想直接在路由器上建一个服务端,但是openwrt搞不太明白。如果您有空的话。方便出一个教程吗。
@老K
我有教程,留个邮箱。我发给你。
@一个人
1820723303@qq.com
老哥分享一下
@一个人
老哥我也想要
@一个人
@一个人
老哥,能分享一份给我吗?
68082216@qq.com
@jiegd
老哥,我也想要,很需要。
@一个人
老哥,我也想要,很需要。
@一个人
2981436290@qq.com
老哥我也想要
试了一下貌似不用添加防火墙规则也行的
这已经N2N了,openwrt直接端口转发不行吗。转发nas的端口,然后置界用openwrt的ip。
@mrjia
转发也是可以的,但是这么做肯定是有理由的
1.比如路由器已经占用了80端口,转发NAS的80到8080多不方便,另外局域网内还有其他的设备
2.收藏夹存的是原始地址,这样做可以使我在公司,地址不变的情况下访问到NAS等
window 下 写 route add 192.168.3.0 mask 255.255.255.0 192.168.123.3
我想两个 路由器之间 的网络互通,按你这个方式两边路由器(openwrt)加上 这个可以吗?
openwrt route 命令跟windows 是不是不一样
route add –net 192.168.3.0 netmask 255.255.255.0 gw 192.168.123.3好像不对
@ADAake
openwrt可以建立静态路由规则实现两段局域网互访。也可以直接创建iptables规则实现。
不好意思,问一个比较简单的问题,刚接触这个东西,
我想问问什么路由器可以直接运行n2n的edge,可以实现自动登录和分配地址?
站长,请问我如果想通过一个centos来连接这个centos所属的内网的其他机器应该怎么配置呢?
@xiaomengxin
既然都同属一个内网下了,直接走内网不行吗?
是我理解错了……吗
您好,我用的Openwrt 61内核 N2N2.7R525,运行显示添加了supernode就退出了,咋回事?
@Longtianmu
“运行显示添加了supernode就退出了”,这句话不太理解……
@Bug侠
我的问题。。。。-c和-k没隔开他不能识别
现在是新问题了,在组建网对网时路由器一侧已经可以ping通对应IP但是那个‘点’还没法ping回家庭内网
@Bug侠
没事了 我忘记添加路由表了
请问一下,服务端加了-r 客户端如果不加会不会影响基础功能 我现在是通过在一个内网edge上开启ccp代理 然后先连接n2n再连接代理服务器实现点对网,如果用-r参数再加一条静态路由 是不是就不需要代理服务器了
@魂
服务端(supernode)没有 -r 参数,-r 参数只有客户端(edge)才有,加不加均不影响基础功能。目前我的方案就是本文所述,就是你说的-r参数+路由表,打通两个物理局域网
站长,这是不是就是我之前一直想弄得,打通两个不同局域网的客户端?
还是要按群友之前的思路?打通两个sn,这样延迟是不是增加了?