旁路由设置的正确方式

最近在玩旁路由,踩了一些坑,也学习了点相关知识,特整理记录下。

一、旁路由的配置

旁路由设置的正确方式

上图是旁路由的连接方式,一般作为旁路由的只有一个LAN口,可以把它想成一个普通的连接路由器的电脑。让他们ip在一个网段即可,比如主路由网关192.168.3.1,旁路由配置成192.168.3.2

1.主路由配置:DHCP配置中把网关和DNS改成旁路由ip地址,如192.168.3.2。

2.旁路由配置:关闭DHCP,把网关改成主路由地址,如192.168.3.1,关闭桥接模式,其他什么子网掩码,广播地址就不说了。 

说明:还有的人是关闭主路由dhcp,开启旁路由dhcp,个人是不推荐这种做法的,虽然dhcp只是一个ip分配器,差别只是谁分配ip的问题,但是我们使用旁路由,就是想对主路由影响最小。如上配置后,撤掉旁路由后或者旁路由出现问题,只要改下主路由的dhcp网关,重启下就可以了,很方便。

这样配置后,网络流量如下图:

旁路由设置的正确方式

科学流量经过处理,会进行nat,这样上行和下行都会走旁路由进行加密和解密。

普通流量只是上行经过旁路由转发一下,ip不会改变;下行的时候主路由发现ip包是电脑,会直接发过去。

正常这样处理是比较完美的,旁路由只加解密科学流量,但是有些路由器这么配置,国内流量是无法上网的,只有国外的没问题,必须要配置一条防火墙规则才行。

iptables -t nat -I POSTROUTING -j MASQUERADE

这是为什么呢?

出现问题的一般都是华为,小米,360等主路由器(发现他们都有个共同特征-不能配置dhcp网关),究其本质原因是,这些路由器会校验数据包的ip和mac地址的对应关系。国内包的上行经过旁路由转发给主路由时,主路由发现旁路由发过来的数据包ip不是它自己的,校验失败,所以图中普通流量那条路就不通了。

然后加了防火墙规则为啥就可以了呢,上边那条规则的意思是执行SNAT功能,就是把数据包的源ip改成当前机器的,也就是旁路由的ip,而且还是动态改变(防止旁路由ip是动态?)。这样配置后,网络流量变成下图了:

旁路由设置的正确方式

这样旁路由其实就是一个没有路由功能的二级路由器了,你会发现在你迅雷等高速下载的时候旁路由的cpu会异常的高,都用来nat了,而不是最初旁路由的目的–只加解密科学流量。

还有的一种设置方法是不用加防火墙规则,旁路由加一个wan口,共用一个etho网口,这样我理解其实就是单臂路由吧?其实和上边差不多的。

查看有没有设置正确的方法很简单

1.迅雷等高速下载的时候看cpu占用是不是很高

2.比较靠谱的一种,看上下行的流量,正确配置的话,旁路由的上行是大于下行的,如果上下相同且数据流量很大(高速下载时候比较明显),则配置有问题。

 

这是下载速度:旁路由设置的正确方式

 

正确配置的上下行速度和cpu占用:

旁路由设置的正确方式旁路由设置的正确方式

 

错误配置的上下行速度和cpu占用:

旁路由设置的正确方式旁路由设置的正确方式

3.最最靠谱的是去主路由看联网设备信息,会发现该设备的ip是电脑的,但是mac地址是软路由的

 

当然,如果用的主路由是华为、小米、360等,那没辙,只能用上述加防火墙规则或者加wan口,采用nat的方式避免它的检验(这样还不如弄成二级路由省时省心),或者换一个主路由器。

Published by

风君子

独自遨游何稽首 揭天掀地慰生平

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注