添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

光猫+无线路由器+Openwrt 旁路网关家庭网络方案


先看概念

路由器(Router)

将数据包从一个网络转发到另一个网络的网络设备。基于内部路由表,路由器读取每个传入的数据包并决定如何转发它,将数据传送到指定的IP地址。

数据在一个 子网 中传输到另一个子网中,可以通过路由器的路由功能进行处理。在网络通信中,路由器具有判断网络地址以及选择IP路径的作用,可以在多个网络环境中,构建灵活的链接系统,通过不同的数据分组以及介质访问方式对各个子网进行链接。路由器在操作中仅接受源站或者其他相关路由器传递的信息,是一种基于网络层的互联设备。

网关(Gateway)

又称 网间连接器 协议转换 器。网关在 网络层 以上实现 网络互连 ,是复杂的网络互连设备,仅用于两个高层协议不同的 网络互连 。网关既可以用于 广域网 互连,也可以用于 局域网 互连。 网关是一种充当转换重任的 计算机系统 或设备。使用在不同的 通信协议 、数据格式或语言,甚至 体系结构 完全不同的两种系统之间,网关是一个 翻译器 。与 网桥 只是简单地传达信息不同,网关对收到的信息要重新打包,以适应目的系统的需求。

网关实质上是一个网络通向其他网络的 IP地址

比如有网络A和网络B,网络A的 IP 地址范围为“192.168.1.1~192. 168.1.254”, 子网掩码 为255.255.255.0;

网络B的IP地址范围为“192.168.2.1~192.168.2.254”, 子网掩码 为255.255.255.0;

在没有 路由器 的情况下,两个网络之间是不能进行TCP/IP通信的,即使是两个网络连接在同一台 交换机 (或 集线器 )上, TCP/IP协议 也会根据 子网掩码 (255.255.255.0)与主机的IP 地址作 “与” 运算的结果不同判定两个网络中的主机处在不同的网络里。

而要实现这两个网络之间的通信,则必须通过网关。如果网络A中的主机发现 数据包 的目的主机不在本地网络中,就把数据包转发给它自己的网关,再由网关转发给网络B的网关,网络B的网关再转发给网络B的某个主机。这就是网络A向网络B转发数据包的过程。

所以说,只有设置好网关的IP地址, TCP/IP协议 才能实现不同网络之间的相互通信。那么这个IP地址是哪台机器的IP地址呢?网关的IP地址是具有路由功能的设备的IP地址,具有路由功能的设备有路由器、启用了 路由协议 服务器 (实质上相当于一台路由器)、 代理服务器 (也相当于一台路由器)。

DNS

是进行域名(domain name)和与之相对应的IP地址 (IP address)转换的服务器。DNS中保存了一张域名(domain name)和与之相对应的IP地址 (IP address)的表,以解析消息的域名。

比如:把 xiaolaiwo.com 转换为 139.198.11.208 的IP地址;

DNS服务器可以有很多层,下层代理和缓存上层数据,接下来就会配置一个本地的DNS服务解决某些域名无法直链访问的问题。

无线路由器(Wireless Router)

无线路由器是一个综合性硬件设备,具备拨号上线、路由、网关、DNS、防火墙、无线网络等功能。

简单点也可以说是家庭上网的一体化软硬件解决方案。

安装网关服务器

硬件

系统安装

Openwet 固件地址 Release openwrt-bcm27xx-bcm2710 · SuLingGG/OpenWrt-Rpi (github.com)

下载固件 immortalwrt-bcm27xx-bcm2710-rpi-3-ext4-sysupgrade.img.gz

安装烧录工具 balenaEtcher – Flash OS images to SD cards & USB drives

固件刷入到 SD 卡

SD卡插回到树莓派,插电开机,开机过程中我们先看下openwrt固件的文档

项目介绍 – doc.openwrt.cc

确认初始设置这里的用户名和密码

通过网线连接电脑和树莓派,浏览器打开 http://192.168.1.1

输入密码 password 登陆

配置

首先拔掉网线,让电脑连入无线路由器网络;

设置IP为自动获取模式,登陆无线路由器后台。

进入DHCP服务器设置

设置开始地址为60,保存。

断开无线,插入网线,手动设置电脑的IP;

192.168.1.59 与 网关服务器的IP 192.168.1.1 在同一网段;

浏览器访问 http://192.168.1.1 登陆网关服务器;

进入 网络 – 接口 菜单,找到LAN 网络 ,点击修改

传输协议为静态地址;

IP地址设置一个和现有局域网同网段的静态 IP 地址,注意不要和现有设备的 IP 地址冲突; 192.168.1.6

将 LAN 网络接口的“默认网关”设为主路由的 IP 地址;192.168.1.1

使用自定义的 DNS 服务器”设为主路由的 IP 地址;192.168.1.1

禁用IPv6分配服务。

然后 应用 设置。注意是应用,不是 保存并应用

物理设置的接口选择 eth0,多网口网线接哪个口选择哪个

忽略DHCP

禁用所有IPV6设置

点击保存,不是 保存并应用

进入 网络 – 防火墙,不启用“ SYN-flood防御”;

不启用 “IP 动态伪装”

点击保存并应用。

用网线链接把无线路由器的LAN口和树莓派的有线网口链接。

电脑连接到无线,并测试网络是否连通;

修改电脑的网关和 DNS 为 192.168.1.6,再次测试网络连通性。这种设置方法只对当前设备有效,比如你只想自己的设备走代理的话可以这么设置。调试时也建议使用这种。

另一种全局的设置方法,直接修改无线路由器的 DHCP

修改网关和 DNS 后若无法上网,说明网关服务器配置有错误,可以把网关和DNS改回192.168.1.1,浏览器访问 http://192.168.1.6 登陆到网关服务器检查配置。

部分无线路由器会校验数据包的ip和mac地址的对应关系,由于网关转发数据时的mac是网关服务器自己的与数据的IP不一致,所以校验失败。

解决办法是增加一个防火墙规则

如果你的路由器不需要这么设置是最好的,这样做的后果就是所有的流量都会经过树莓派的网关服务器,树莓派只有百兆的网络带宽,降低了网络性能。

网络

理想情况旁路网关不会影响局域网性能,也不会影响广域网下行性能。

因此,使用旁路网关的主要目的如果只是用来转发代理上网的流量,旁路网关的性能并不重要。

  1. 局域网互访,不经过网关
  2. 广域网下行,不经过旁路网关
  3. 广域网上行,经过旁路网关再经过上级网关
  4. 代理无论上行下行都经过旁路网关

注意设置了防火墙规则后全部流量经过网关。

代理

代理的安装和配置部分参考谷歌教程,网关服务器的代理设置和软路由代理设置相同。

只试用了 PassWall 下中国列表,代理正常运行。

另外 FRP 也可以正常使用,有需要可参考另一篇文章。

要所有设备走代理记得改无线路由器DHCP服务器的网关和DNS。

参考文章:

Openwrt 作为旁路网关(不是旁路由、单臂路由)的终极设置方法,破解迷思 – 少数派 (sspai.com)

doc.openwrt.cc

balenaEtcher – Flash OS images to SD cards & USB drives

百度百科_全球领先的中文百科全书 (baidu.com)

发表评论 取消回复