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

一、旁路由的配置

上图是旁路由的连接方式,一般作为旁路由的只有一个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的方式避免它的检验(这样还不如弄成二级路由省时省心),或者换一个主路由器。

旁路由设置的正确方式相关推荐

  1. openwrt旁路由设置的正确方式

    最近在玩旁路由,踩了一些坑,也学习了点相关知识,特整理记录下. 一.旁路由的配置 上图是旁路由的连接方式,一般作为旁路由的只有一个LAN口,让他们ip在一个网段即可 比如主路由网关192.168.0. ...

  2. Android 中设置线程优先级的正确方式(2种方法)

    Android 中设置线程优先级的正确方式(2种方法) 在 Android 中,有两种常见的设置线程优先级的方式: 第一种,使用 Thread 类实例的 setPriority 方法,来设置线程优先级 ...

  3. 关于旁路由设置后,主路由WIFI无法上网的问题

    前言 旁路由设置好后,手机.电脑连接主路由 WIFI,会无法访问外网. 但是,如果电脑用网线连接主路由,则可以正常上网. 这究竟是怎么一回事儿呢? 1. 旁路由解释 旁路由: 旁路由其实并不是路由,路 ...

  4. php与go服务之间调用,PHP调用Go服务的正确方式 - Unix Domain Sockets

    原标题:PHP调用Go服务的正确方式 - Unix Domain Sockets 作者:枕边书 链接:http://www.cnblogs.com/zhenbianshu/p/7265415.html ...

  5. 深入探究ASP.NET Core读取Request.Body的正确方式

    前言 相信大家在使用ASP.NET Core进行开发的时候,肯定会涉及到读取Request.Body的场景,毕竟我们大部分的POST请求都是将数据存放到Http的Body当中.因为笔者日常开发所使用的 ...

  6. 2020-11-05 转载 国内配置Electron开发环境的正确方式

    原作者: 国内配置Electron开发环境的正确方式 https://blog.yasking.org/a/zh-install-electron-development-2020.html http ...

  7. 群晖设置公网ipv6方式域名解析访问

    1.环境说明 上网:电信光猫+tplink路由器(电信送的) 群晖:DSM 7.1.1-42962 Update 2 域名服务商:腾讯云 2.光猫设置 2.1 获取光猫超级用户密码 拨打电信10000 ...

  8. 华为服务器如何设置网站dns,设置为正确的DNS 服务器地址

    设置为正确的DNS 服务器地址 内容精选 换一换 域名的DNS服务器定义了域名用于解析的权威DNS服务器.通过华为云注册成功的域名默认使用华为云DNS进行解析,详细内容,请参见华为云DNS对用户提供域 ...

  9. IIS服务器上设置404的方式

    设置网站404页面后,通过站长工具中的http状态查询链接,发现返回的状态码为200,在SEO领域内这是不允许,而且危害很大. 原来之前在IIS服务器上设置404的方式错了,正确的方式: 注意404. ...

最新文章

  1. jQuery中json对象与json字符串互换
  2. go context的使用总结
  3. hdu 3590——PP and QQ
  4. linux硬盘系统安装教程图解,Linux操作系统添加安装新硬盘的方法图解
  5. ES6——let、参数增强、箭头函数、模板字符串、for of和解构
  6. java清理垃圾_垃圾清理势在必行——Java垃圾收集算法
  7. line-height在安卓机位置靠上
  8. 深度学习试题_深度学习理论类常见面试题(二)
  9. 内存映射第一步:idmap swapper
  10. 2020总结:临渊羡鱼不如退而结网
  11. Linux下的酷我音乐盒(开源非官方)
  12. cscd期刊是c刊吗_武工商C刊和北大核心期刊论文发表数量位列全省同类高校前三甲...
  13. UnityShader_天空盒子中的反射、折射、聂菲尔效应
  14. chrome使用的开源工程介绍
  15. ubuntu appimage文件打不开的解决方案
  16. 前端之HTML常用标签
  17. 基于51单片机的多路多点温度检测两种供电方式proteus仿真原理图PCB
  18. cesium将默认底图设置为不显示
  19. Python 调用百度翻译接口实现翻译
  20. linux如何卸载金山安全终端,安全客户端

热门文章

  1. Python 实现 2019 新型冠状病毒疫情地图可视化 (basemap + matplotlib)
  2. 计算机硬盘ssd,让您的电脑飞起来 教你如何正确使用SSD
  3. Google Logo汇总
  4. phpems用户名是什么_PHPems在线考试系统使用手册
  5. 2、电子工程最常用的六大电子元器件,你一定得知道
  6. PNOZ mc3p Profibus 2皮尔兹通信模块的安装与接线
  7. Java五子棋小游戏简单版(3)
  8. poj3271Lilypad Pondg
  9. 06、Vue-Header组件(商家信息)《饿了吗》
  10. 图隐私论文速递:Towards Locally Differentially Private Generic Graph Metric Estimation