目的
通过配置光猫的拨号功能和 OpenWrt 旁路由,我们期望实现以下目标:
- 自动设置 OpenWrt 为网关:所有接入网络的设备无论是 IPv4 还是 IPv6 ,都自动将 OpenWrt 设置为网关。
- 网络优化功能生效:OpenWrt 上部署的各种网络优化功能,比如 Adblock 、QoS 等,在所有流量中有效。
- 支持独立公网 IPv6 地址:在宽带提供 IPv6 支持时,终端设备能够分配独立的 IPv6 公网地址。
IPv4 配置步骤
以下配置截图说明基于我设备信息如下
光猫 ipv4 局域网地址为 192.168.31.1 ipv6 本地链路地址为 fe80::1
Openwrt ipv4 局域网地址为 192.168.31.2 ipv6 本地链路地址为 fe80::8e53:c3ff:fedc:560e
IPv4 的配置相对简单,因为其地址分配方式只有一种:DHCP 。
-
关闭光猫 DHCP 服务:
- 登录光猫的超级管理后台(不同品牌的光猫后台操作略有不同,参考设备手册或相关教程)。
- 关闭光猫上的 DHCP 服务器。
-
配置 OpenWrt 接口:
-
在 OpenWrt 后台,新建接口LAN并设置为静态地址,例如:
- IP 地址:
192.168.31.2
- 子网掩码:
255.255.255.0
- 网关地址:
192.168.31.1
- 开启 OpenWrt 的 DHCP 服务。
- 默认情况下,OpenWrt 会分配 IP 地址并将自己设置为网关( Gateway )和 DNS 服务器。
IPv4 完成后启用效果
- 所有通过 IPv4 接入网络的设备将自动获取由 OpenWrt 分配的 IP 地址,同时将其设置为默认网关和 DNS 。
IPv6 配置步骤
相比 IPv4 ,IPv6 的配置更加复杂,因为 IPv6 有两种地址分配和管理方式:
- DHCPv6(动态主机配置协议,分配 IPv6 地址)。
- RA(路由通告,设置默认网关)。
IPv6 默认行为的问题
-
默认情况下,光猫会同时启用DHCPv6和RA服务。
- 如果我们模仿 IPv4 的做法,将 DHCPv6 服务从光猫移到 OpenWrt ,会发现设备仍然会从光猫获取默认 IPv6 路由,这将导致设备的 IPv6 流量绕过 OpenWrt 。
-
如果将DHCPv6和RA全部迁移到 OpenWrt:
- 设备无法获取公网 IPv6 地址,因为公网前缀在光猫端,OpenWrt 只能分配局域网范围内的 IPv6 地址。
IPv6 解决方案
经过权衡,选择如下策略:
- 光猫负责 DHCPv6:用于分配公网 IPv6 地址。
- OpenWrt 负责 RA 服务:用于配置 IPv6 网关。
配置步骤
1. 配置光猫
- 关闭 RA 服务:登录光猫超级管理后台,找到 IPv6 设置,关闭 RA 服务器。
- 开启 DHCPv6:确保 DHCPv6 服务启用,用于向设备分配公网 IPv6 地址。
2. 配置 OpenWrt
2.1 为lan6 接口配置 DHCPv6 客户端
-
新建接口lan6:
- 协议:
DHCPv6 客户端
- 请求 IPv6 地址:
强制
- 请求 IPv6 前缀长度:
禁用 (另一种方法是获取前缀再由 OpenWrt 分配设备,但实践中不稳定,因此禁用)。
- 使用默认网关:勾选。
2.2 配置lan 接口的 RA 和 DHCPv6 中继
-
到lan接口设置,在“DHCP 服务器”中配置:
RA 服务 :设置为服务器模式。
DHCPv6 :设置为中继( Relay )。
-
在“IPv6 RA 设置”中:
- 默认路由器( Default Router ):
强制其他默认 。
- RA 标记:
受管配置(M) , 这样设备会尝试使用 DHCPv6 获取 IP 地址,但是其他配置使用 RA 的。
配置截图参考
以下是相关配置的截图:
光猫 RA 配置

光猫 DHCPv6 配置

OpenWrt lan6 接口设置

OpenWrt lan 接口 RA 服务设置

验证配置效果
检查设备获取的 IPv6 地址和路由
通过配置,可以得到以下结果:
- 客户端设备通过 DHCPv6 从光猫获取独立的公网 IPv6 。
- 客户端设备通过 RA 服务将 OpenWrt 设置为默认网关。
- 全部 IPv6 流量经过 OpenWrt ,完成网络优化和其他功能的部署。
以下是示例验证截图:
客户端 IPv6 地址和路由
Windows

Linux

总结
通过上述步骤,我们成功实现了光猫拨号+OpenWrt 旁路由的家庭网络配置目标:
- IPv4 流量:通过关闭光猫 DHCP 和启用 OpenWrt DHCP ,所有 IPv4 流量通过 OpenWrt 网关。
- IPv6 流量:通过光猫分配公网 IPv6 地址、OpenWrt 负责 RA 服务,确保设备流量集中通过 OpenWrt 网关。
这一配置方案在家庭环境中可实现高效的网络控制以及完整的 IPv6 支持。
上述方案是我踩坑很久一点点摸索出来的,如有问题希望各位指正。
当然用 Openwrt 当主路由拨号方便拉,但是现在的光猫性能也不算太差,只做猫有点浪费。
|