以家庭网络为例,一般都是一个光猫,然后物理网线连接0~n个路由器,各设备通过路由器上网。因为家里有Nas所以一般都把路由器改为有线或无线中继模式,这样做的目的,就是让所有设备在同一网段内,方便直联。当然跨网段,增加投入也可直联,那不在今天的话题内。

动态分配IP的服务 光猫

同一网段内,最好只有一个设备提供DHCP服务,IPV4和IPV6都是一样。默认都是光猫拨号上网,提供外网与局域网两个网段IP转换(NAT)以及网关服务;局域网段内的设备,光猫又提供DHCP、DNS服务。

使用路由器作为透明网关

为了使用透明网关,我们需要另一个同网段直接的设备提供DHCP服务,方便使用DHCP的tag功能,这里使用其中的一个路由器来实现。

  1. 关闭光猫的DHCP.

image-1713049643067

  1. 开启路由器的DHCP,它本身的网关地址仍然指向光猫的内网地址(原网关地址,上图中192.168.2.1),路由器本身的IP是 192.168.2.120。

image-1713049748725

image-1713049828440

使用DHCP的Tag功能。

为了方便动态分配网关(不是分配IP),需要使用DHCP的Tag选项功能。

配置路由器Tag,这里统一使用"proxy" ,可以任意好记短的一个字符串,一样的作为一组,方便后面管理。

image-1713050343899

使用Tag,下面的语法解释:tag 为 非proxy的设备 指定网关和DNS走光猫的内网IP:192.168.2.1.

tag:!proxy,3,192.168.2.1 
tag:!proxy,6,192.168.2.1

GPT解释:
image-1713050864334

image-1713050171070

这样保存应用,Tag为proxy 的 设备重新获网关后,网关就变更为路由器的IP:192.168.2.120。如果把取非运算符 “!” 去掉,就是这些proxy标记设备的网关和DNS 就变成了 192.168.2.1。具体使用后者还前者,看具体场景,哪种影响最小。

总结

通过关闭光猫的DHCP打开路由器的DHCP,指定DHCP的服务器为路由器,再由路由器的DHCP 静态绑定Tag功能,来指定设备的下一跳网关。这样就减少了在各终端逐个手动 修改网关的麻烦。透明网关的缺点,就是增加无效数据包需要关掉防火墙的【丢弃无效数据包】,以及可能要开启【IP动态伪装】带来的NAT转换的计算损失,这两个选项默认已配置正确,上网出问题了主要检查这两个开关。这也是透明网关没成主流的原因,如果都是物理网口直联,不过iptables规则就没有这样的损失。

IPV6的配置没变,依然是光猫提供 ipv6 的DHCP,路由器关闭ipv6的 DHCP。

以上资料来源网络,经过整理与测试,方便日后配置参考。