光猫桥接模式下EdgeRouter-X原生IPv6配置全指南
家里光猫改桥接后,内网设备突然没了IPv6访问能力?这个问题困扰过不少折腾家庭网络的技术爱好者。作为一款经典的家用企业级路由器,EdgeRouter-X在PPPoE拨号场景下的IPv6配置确实有些门道。今天我们就来彻底解决这个痛点,从原理到实操,一步步带你打通IPv6的任督二脉。
1. 理解IPv6在桥接模式下的工作原理
当光猫工作在路由模式时,它默认会处理IPv6的分配工作。但切换到桥接模式后,这个责任就完全落在了EdgeRouter-X肩上。这里涉及到两个核心协议:DHCPv6-PD(Prefix Delegation)和SLAAC(Stateless Address Autoconfiguration)。
DHCPv6-PD是运营商向你的路由器分配IPv6前缀的关键机制。想象一下,运营商就像IPv6地址的批发商,通过这个协议把一大段地址"批发"给你的EdgeRouter-X。而SLAAC则是路由器向内网设备分配IPv6地址的无状态方式,设备可以自己根据前缀生成完整的IPv6地址。
为什么需要同时配置这两个协议?因为:
- DHCPv6-PD负责从ISP获取IPv6前缀(比如240e:1234:5678::/56)
- SLAAC负责将这个前缀分发给内网设备使用
在Config Tree中,有几个关键参数直接影响IPv6的获取和分配:
| 参数路径 | 典型值 | 作用说明 |
|---|---|---|
dhcpv6-pd/pd/0/prefix-length | /56或/60 | 决定从ISP获取的前缀长度 |
ipv6/router-advert | 启用 | 开启路由器通告功能 |
host-address | ::1 | 设置路由器自身的IPv6地址 |
2. 基础网络环境准备
开始配置前,请确认你的网络环境符合以下条件:
- 光猫已改为桥接模式(建议先记录原来的配置以备恢复)
- EdgeRouter-X通过PPPoE拨号成功获取IPv4地址
- 路由器固件版本不低于v2.0.9(可通过
show version命令查看)
# 查看当前网络接口状态 show interfaces如果看到pppoe0接口有IPv4地址但没有IPv6相关信息,就说明需要进行后续配置。值得注意的是,不同地区的ISP对IPv6的支持程度不同,有些可能需要特别申请开通。
3. 分步配置DHCPv6-PD获取前缀
进入EdgeRouter-X的Config Tree界面(在GUI中选择Config Tree选项卡),按照以下路径配置:
- 展开
interfaces > ethernet > eth0 > pppoe > 0 - 启用
dhcpv6-pd选项 - 设置
dhcpv6-pd/prefix-only为启用状态 - 在
dhcpv6-pd/pd下创建编号为0的接口 - 将
dhcpv6-pd/pd/0/interface指向你的内网接口(通常是switch0)
关键参数说明:
prefix-length:这个值需要与ISP提供的匹配,常见的有/56、/60或/64。如果不确定,可以逐个尝试。host-address:设置为::1,这样路由器的IPv6地址就会是获取到的前缀加上::1service:选择slaac实现无状态地址分配
# 配置完成后检查IPv6前缀获取情况 show interfaces pppoe0如果看到类似"Prefix: 240e:1234:5678::/56"的输出,说明已成功从ISP获取IPv6前缀。
4. 配置SLAAC实现内网IPv6分配
获取到前缀只是第一步,还需要正确配置内网接口的IPv6功能:
- 导航到
interfaces > switch > switch0 > ipv6 - 启用IPv6功能
- 开启
address/autoconf(自动配置) - 启用
router-advert(路由器通告) - 在
router-advert/prefix中添加::/64
路由器通告(RA)标志位解析:
- M标志(Managed):设置为0,表示不强制使用DHCPv6
- O标志(Other):设置为1,允许设备通过DHCPv6获取其他配置信息
- A标志(Autonomous):保持默认,启用无状态地址自动配置
提示:RA的默认配置通常已经优化,除非有特殊需求,否则不建议修改详细参数。
5. 验证与故障排除
配置完成后,可以通过以下方法验证IPv6是否正常工作:
# 查看接口IPv6地址 show interfaces switch0 # 测试IPv6连通性 ping6 ipv6.google.com常见问题及解决方法:
无法获取IPv6前缀
- 确认ISP支持IPv6(可尝试用光猫路由模式测试)
- 检查
prefix-length设置是否正确 - 重启pppoe连接:
release dhcpv6-pd interface pppoe0+renew dhcpv6-pd interface pppoe0
内网设备没有IPv6地址
- 确认switch0的
router-advert已启用 - 检查防火墙是否阻止了ICMPv6流量
- 尝试在设备上手动触发地址更新(Windows:
netsh interface ipv6 renew)
- 确认switch0的
有IPv6地址但无法上网
- 检查
protocols > static > interface-route6是否配置了::/0指向pppoe0 - 确认IPv6 DNS设置正确(可在DHCPv6中配置)
- 检查
6. 高级配置与优化
对于追求完美网络体验的用户,还可以考虑以下优化措施:
IPv6防火墙配置建议:
# 允许ICMPv6(IPv6网络基础协议需要) set firewall ipv6-name WANv6_IN rule 10 action accept set firewall ipv6-name WANv6_IN rule 10 protocol icmpv6 # 限制入站连接 set firewall ipv6-name WANv6_IN default-action dropQoS与IPv6共存方案:
如果使用了智能队列(Smart Queue)进行流量整形,需要特别注意:
- 在
traffic-control设置中排除IPv6控制报文 - 为IPv6流量单独设置队列规则
- 监控IPv6流量的延迟和丢包率
多子网IPv6分配:
当网络中有多个VLAN时,可以为每个VLAN分配不同的IPv6子网:
- 在
dhcpv6-pd/pd/0下为每个VLAN接口创建新的分配项 - 为每个接口设置不同的
prefix-id(如1,2,3...) - 在各VLAN接口上启用SLAAC
经过这些配置,你的EdgeRouter-X应该已经能够完美支持IPv6了。在实际使用中,IPv6不仅能够解决地址短缺问题,还能提供更直接的端到端连接体验。特别是在智能家居设备越来越多的今天,为每个设备分配公网IPv6地址可以简化很多网络配置工作。