家庭网络旁路由配置:光猫拨号 + OpenWrt(IPv4/IPv6)

208 天前
 irrigate2554

目的

通过配置光猫的拨号功能和 OpenWrt 旁路由,我们期望实现以下目标:

  1. 自动设置 OpenWrt 为网关:所有接入网络的设备无论是 IPv4 还是 IPv6 ,都自动将 OpenWrt 设置为网关。
  2. 网络优化功能生效:OpenWrt 上部署的各种网络优化功能,比如 Adblock 、QoS 等,在所有流量中有效。
  3. 支持独立公网 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 。

  1. 关闭光猫 DHCP 服务

    • 登录光猫的超级管理后台(不同品牌的光猫后台操作略有不同,参考设备手册或相关教程)。
    • 关闭光猫上的 DHCP 服务器。
  2. 配置 OpenWrt 接口

    • 在 OpenWrt 后台,新建接口LAN并设置为静态地址,例如:
      • IP 地址:192.168.31.2
      • 子网掩码:255.255.255.0
      • 网关地址:192.168.31.1
    • 开启 OpenWrt 的 DHCP 服务。
    • 默认情况下,OpenWrt 会分配 IP 地址并将自己设置为网关( Gateway )和 DNS 服务器。

IPv4 完成后启用效果


IPv6 配置步骤

相比 IPv4 ,IPv6 的配置更加复杂,因为 IPv6 有两种地址分配和管理方式:

IPv6 默认行为的问题

  1. 默认情况下,光猫会同时启用DHCPv6RA服务。
    • 如果我们模仿 IPv4 的做法,将 DHCPv6 服务从光猫移到 OpenWrt ,会发现设备仍然会从光猫获取默认 IPv6 路由,这将导致设备的 IPv6 流量绕过 OpenWrt 。
  2. 如果将DHCPv6RA全部迁移到 OpenWrt:
    • 设备无法获取公网 IPv6 地址,因为公网前缀在光猫端,OpenWrt 只能分配局域网范围内的 IPv6 地址。

IPv6 解决方案

经过权衡,选择如下策略:

配置步骤

1. 配置光猫

2. 配置 OpenWrt

2.1 为lan6接口配置 DHCPv6 客户端
2.2 配置lan接口的 RA 和 DHCPv6 中继

配置截图参考

以下是相关配置的截图:

光猫 RA 配置

光猫 DHCPv6 配置

OpenWrt lan6接口设置

OpenWrt lan接口 RA 服务设置


验证配置效果

检查设备获取的 IPv6 地址和路由

通过配置,可以得到以下结果:

  1. 客户端设备通过 DHCPv6 从光猫获取独立的公网 IPv6 。
  2. 客户端设备通过 RA 服务将 OpenWrt 设置为默认网关。
  3. 全部 IPv6 流量经过 OpenWrt ,完成网络优化和其他功能的部署。

以下是示例验证截图:

客户端 IPv6 地址和路由

Windows

Linux


总结

通过上述步骤,我们成功实现了光猫拨号+OpenWrt 旁路由的家庭网络配置目标:

  1. IPv4 流量:通过关闭光猫 DHCP 和启用 OpenWrt DHCP ,所有 IPv4 流量通过 OpenWrt 网关。
  2. IPv6 流量:通过光猫分配公网 IPv6 地址、OpenWrt 负责 RA 服务,确保设备流量集中通过 OpenWrt 网关。

这一配置方案在家庭环境中可实现高效的网络控制以及完整的 IPv6 支持。

上述方案是我踩坑很久一点点摸索出来的,如有问题希望各位指正。 当然用 Openwrt 当主路由拨号方便拉,但是现在的光猫性能也不算太差,只做猫有点浪费。

2667 次点击
所在节点    OpenWrt
10 条回复
ruxuan1306
208 天前
学习了,才意识到 IPv6 的默认网关只能从 RA 下发,不像 IPv4 是 DHCP 下发
povsister
208 天前
大佬开始玩旁漏油了,期待更牛逼的方案
wske
208 天前
irrigate2554
208 天前
@wske 结尾也说了主路由当然更好了,但是我这弱电箱塞不下另一个路由器了,还有网线等原因,只能旁路由了,这篇文章不提供旁路由方案的。我就是这文章里面说的:`强烈建议使用主路由环境,抛弃旁路由。旁路由出问题自己想办法,谁教你用旁路由的你去找谁,不要提问。`
WhatTheBridgeSay
208 天前
很好的方案,之前网关与 NAT 设备不一致时,4 跟 6 的路由很难走到一起去,楼主这也不失为一个解决方案
core12
207 天前
ipv6 的透明网关可以提高 ra 的优先级来实现,openwrt 或者随便一台 linux 服务器都行,不要下发 ipv6dns 就行。
y1y1
207 天前
@povsister 嘲讽拉满
JH13
140 天前
光猫没有彻底关闭 RA 的地方怎么办
guugg
38 天前
最近刚好遇到光猫跟路由器的问题。

本来想考虑跟你一样使用旁路由作为 DHCP 服务的。后面刚好看到[单线复用]( https://blog.vcvit.me/2024/05/27/shanghai_vlan/ "上海联通,单线复用,VLAN ,Openwrt 相关设置")

## 单线复用

- 光猫 + OpenWrt 路由器。

> 我有多余的路由器,但是客厅用不了这么多`lan 口`,光猫剩下的`lan 口`刚好满足我的使用。


1. 光猫把桥接`VLAN ID`绑定全部`lan 口`,可以实现盲插桥接。其余`lan 口`利用起来作为交换机( IPTV ,其他网络。)
2. OpenWrt 负责拨号 DHCP 服务。
* 网络>接口>设备>添加设备配置;添加网桥设备,设备名称 vlan ,接口选上 2 个物理接口(不要选之前的 wan 口)。
irrigate2554
37 天前
@guugg 按着这个配置了,确实可以,vlan 网桥只选择连接光猫的一个物理接口就可以

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1111764

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX