简介
旁路由好处
旁路由配置步骤
关于IP动态伪装
1、修改管理地址网段
2、关闭IPV6和DHCP服务
3、防火墙设置
4、终端设置
简介
我们都知道,软路由一般有两种使用方式,一种是作为承担DHCP分配的主路由,而另一种就是作为不承担DHCP分配功能的旁路由使用。今天就来介绍如何将软路由配置成为旁路由。
旁路由好处
旁路由最大的好处就是它不承担DHCP分配任务,这意味着它的对网络的影响极小。
即使故障也不会像主路由一样直接导致整个网络瘫痪。更别提软路由的配置复杂,可能经常修改上面的网络配置,若作为主路由使用,一旦设置出错就会导致整个网络瘫痪。
如果家中还有其他人使用网络,影响实在是不好。应当尽可能保持网络稳定。
建议有以下需求的人使用将软路由作为旁路由使用:
1、不止有自己使用网络,同网络下还有其他人使用。并且希望尽可能不影响其他人的网络使用。
2、不希望所有终端流量都走软路由。
软路由天生发热量较大,因为其不像普通路由器(硬路由)一样拥有硬件转发模块,比如交换机芯片。
因此所有的网络流量都需要经过软路由CPU处理。如果负担过重,又是夏天,很容易造成机身温度过高,降低寿命或者死机。
3、只有部分终端设备拥有特殊上网需求。或者不希望和其他人一同使用。
作为主路由虽然可以配置地址判断规则,但是在线设备多了,还是会偷跑流量。更何况在特殊环境下(比如寝室),只希望特定设备流量会经过软路由处理。
这时旁路由的优势就体现出来了:只需为需要走旁路由的设备手动配置一下网关地址,就可以实现特定设备流量走旁路由,其他设备流量则直接发送给主路由。
这也是为什么旁路由故障不会影响大网络的原因:其他设备的流量完全没有经过旁路由之手。
旁路由配置步骤
1、修改管理地址网段
首先需要修改软路由的管理地址,使其和硬路由处在同一网段。便于管理。
进入网络-接口设置页面
设置LAN口,截图所示的两个红框点击均可
设置为静态地址,IPV4地址选择一个没有被占用的,便于自己记忆的地址。
网关设置成硬路由的地址。
DNS填写公用的DNS即可。或者填写网关地址。
IPV6分配长度记得禁用。
2、关闭IPV6和DHCP服务
接下来配置IPV6和DHCP服务。
DHCP一定要选择忽略此接口。
接下来是物理设置。这里保持默认设置即可。之所以强调是因为桥接要打开,有些教程说要关闭桥接,那是错误的。会导致网络不通。
3、防火墙设置
接下来是重要的防火墙设置。
SYN防御可开可不开,建议保持默认。此选项主要为预防DDOS攻击设置。
接下来重点来了,IP动态伪装开关。
该选项记得打开。尤其是当你的硬路由是小米品牌时。
否则可能出现终端修改静态IP后,有线走旁路由能上网,而WIFI怎么都不可以。或者两种均不行。
关于IP动态伪装
有时候我们会发现,终端修改IP成为静态地址,设置网关地址为旁路由,但是却无法上网。而且奇怪的是有线终端没问题,无线终端却不行。
如果打开了功能插件,还会发现国内网站死活不行,国外没问题。如果开了全局,又都可以了。
此时我们需要执行指令iptables -t nat -I POSTROUTING -j MASQUERADE
或者打开IP动态伪装,问题就可以得到解决。
这是为什么呢?
原来出现问题的一般都是华为,小米,360等普通常见路由器。这些路由器会校验数据包的ip和mac地址的对应关系。而当数据包的上行流量经过旁路由转发给主路由时,主路由发现旁路由发过来的数据包源IP不是它自己的IP地址,校验失败,该数据包被丢弃。
为啥全局后或者国外可以呢,因为这些流量会被处理,数据包的源IP会被替换成为旁路由的IP。所以能通过校验。
需要强调的是,因为普通家用路由的封闭性,该校验机制一般没法关闭(甚至在某些支持设置DHCP网关的品牌中依然存在,例如小米新款路由器)
为啥加了防火墙规则为啥就可以了呢,上边那条规则的意思是执行SNAT功能,就是把数据包的源ip改成当前机器的,也就是旁路由的ip,无论该数据包是否会经过插件处理。
就是防火墙设置面板中的IP动态伪装功能,命令和该开关是一样的。
这里插一句,为什么无线不行,有线可以,因为在硬路由中是有专门的交换机芯片的,有线终端的流量并不会流经CPU处理,而是直接由交换机芯片转发了,所有该校验规则无效,而无线终端的流量会经由CPU解码处理,此时该校验规则生效,有问题的数据包被丢弃。
这还没完,不是开了就万事大吉了。开了之后意味着所有数据包经过旁路由都必须进行一次IP替换操作,如果你在看高清视频或者下载东西,你会发现软路由发热严重,CPU占用居高不下。
想要彻底解决该问题,有两个办法
1、换一个不校验的主路由,例如华硕或者刷OP固件。(那还要旁路由干嘛?)
2、参考该帖子,破解硬路由的SSH权限。将硬路由Linux内核上面虚拟网桥的iptables关闭(即关闭校验机制),具体可看恩山帖子:
https://www./forum/thread-4104292-1-1.html
在这里贴出指令:echo 0 > /proc/sys/net/bridge/bridge-nf-call-iptablesecho 0 > /proc/sys/net/bridge/bridge-nf-call-ip6tablesecho 0 > /proc/sys/net/bridge/bridge-nf-call-arptablesecho 0 > /proc/sys/net/bridge/bridge-nf-call-custom
方法2的好处是设置后旁路由可以不开动态伪装了,高负载下CPU占用大大降低。
4、终端设置
恭喜,到现在软路由上的设置已经全部做完了。接下来只需要给需要使用软路由的设备终端设置一下IP即可。
提前说明:因为手机品牌众多,不同系统的设置界面和功能名称都有出入,无法演示具体设置流程。但是需要设置的项目每一个设备都有的,这是写在协议里面的。无非就是复杂与否。
除了手机电脑,其他小众的终端,比如电视盒子,游戏机等,都是一样的原理。
需要修改的项目:
变更IP地址获取方式,由自动获取(DHCP)变为手动指定(静态)
设置IP地址与子网掩码
修改网关地址,指向软路由地址 (重要)
修改DNS地址,指向软路由或者使用公共DNS
对于不需要使用软路由的设备,无需进行以上设置。(同样,这些设备不受软路由影响,软路由掉线重启不影响它们的网络连接)
原文链接:http://www.360doc.com/content/23/0706/08/28740943_1087506324.shtml