最近玩了一下OpenWrt,配置旁路由网络(甚至旁路由这个说法也并不准确……)的时候看到有“网关互指”的说法,看到这个词的时候我直接就迷惑了,想不通这是个什么配置方法?

        略懂网络知识的人都知道,网关就是局域网中设备对外网络请求和响应的出入口,例如,A设备作为B设备的网关,那么B设备如果想要访问局域网外的其他机器,网络请求就要通过A设备将请求转发。

        如果按照“网关互指”的字面说法来配置网络,那么局域网中的设备根本不可能访问互联网,只会是在两个“网关”之间套娃传输请求,最终请求失败。

        那么所谓“网关互指”到底是想要实现什么样的配置呢?

        这个说法中隐含的意思是有两个网关,给人的感觉是两个网关是平级的关系,其实不然。这里的两个设备,A(原路由器)和 B(OpenWrt)设备是上下级关系,即A是作为B的网关,只是这么一个单纯的关系,A自己的网关并没有改变,仍然是光猫之类的设备(如果A就是光猫,那它的网关就是上一级网络运营商的设备)。

        A设备更改的设置是DHCP设置,DHCP是一个负责分发IP地址、网关地址、DNS地址的服务。这个服务一般在家用路由器中默认开启(但实际上也可以在其他支持DHCP服务器功能的设备上启用),目的是自动为连接到局域网中的设备分配上述地址。不使用这个服务的话就需要手动为联网设备配置上述地址。

        看到这,大家应该明白了吧,A配置完之后,只是让新连接到网络中的设备从DHCP服务获取的网关变成B设备而已,从此局域网中其他设备的网关就是B设备,B设备的网关是A设备,A设备的网关没有变化。

        简化一下,其实网络请求的路径就是(懒得画图了,大家凑合看看):   

                          其他设备 --> B设备 --> A设备 --> 运营商网络设备 --> 互联网

        至于开头说的的“旁路由”说法不准确,其实是由于此时的OpenWrt设备(即B设备)并没有起到路由的作用,它和其他局域网中的设备处于同一网段,只是起到重新处理所有网络请求的作用。所谓路由是要将一个网段的请求发送到另一个网段,这个功能仍然是由A设备完成的。

        到此,有关旁路由的配置的解释就结束了,大家这次有没有豁然开朗呢?