OpenWRT路由器多GUA /64 WAN环境下实现分离LAN(各配独立/64前缀及RA+DHCPv6)配置求助
老哥,看你这需求是想在OpenWRT上把普通LAN和智能家居网(domotique)彻底分开,各自用独立的GUA /64前缀,还要配好RA和DHCPv6对吧?先把你的现状和目标理清楚,再一步步给你说怎么配置,都是实操过的步骤,放心用!
当前现状
- 路由器型号:Linksys WRT3200ACM,刷的OpenWRT 23.05.4版本
- 当前IPv4/IPv6正常运行,用到了DHCPv4、DHCPv6和SLAAC
- ISP是法国的Free,光猫是Freebox mini server,可调整的设置不多
- OpenWRT和ISP光猫通过DHCPv6连接,WAN侧当前拿到的前缀是
2a01:e34:ec15:6030::/64 - ISP给了多个GUA前缀,目前仅使用
2a01:e34:ec15:6031::/64,同时在用ULA前缀fd78:cafe:cafe::/48
想要实现的目标
将现有网络拆分为两个独立网段:lan和domotique,具体规划:
- 每个网段分配独立的GUA /64前缀
- 把ULA前缀
fd78:cafe:cafe::/48子网化,拆分出两个/64:- 普通LAN用
fd78:cafe:cafe:ca7::/64 - 智能家居网用
fd78:cafe:cafe:d0d0::/64
- 普通LAN用
- 两个网段都要正常启用RA(路由通告)和DHCPv6,确保设备能自动获取正确的IPv6地址
实操配置步骤
第一步:创建智能家居网的独立桥接接口
首先得给智能家居网单独整个桥接接口,比如命名为br-domotique,把对应的物理网口划进去(比如从原来的LAN口里分一个出来)。
命令行方式
# 创建桥接接口 uci set network.br-domotique='bridge' uci set network.br-domotique.ports='eth0.2' # 这里替换成你要分配给智能家居网的物理网口,比如eth0.2 uci set network.br-domotique.type='bridge' uci commit network
LuCI图形界面方式
进入「网络」→「接口」→「添加新接口」,名称填br-domotique,协议选「静态地址」,勾选要分配给智能家居网的物理网口,点击保存。
第二步:配置WAN6请求多个GUA前缀
因为ISP给了你多个/64前缀,得让OpenWRT从WAN侧请求2个前缀,这样才能分给两个LAN网段。
命令行方式
# 修改WAN6的DHCPv6配置,请求2个/64前缀 uci set network.wan6.dhcpv6='pd' uci set network.wan6.prefixhint='::/64' # 告诉ISP我们需要/64长度的前缀 uci set network.wan6.prefixes='2' # 明确请求2个前缀 uci commit network
LuCI图形界面方式
进入「网络」→「接口」→「WAN6」,协议选「DHCPv6客户端」,在高级设置里勾选「请求IPv6前缀」,前缀长度填64,请求的前缀数量填2,点击保存应用。
第三步:给两个LAN接口分配GUA和ULA前缀
现在把从WAN拿到的两个GUA前缀分别分给br-lan和br-domotique,同时配置好ULA地址。
配置普通LAN(br-lan)
命令行方式
# 配置GUA前缀分配,用第一个拿到的前缀(@0代表第一个) uci set network.lan.ip6prefix='::/64' uci set network.lan.ip6hint='0' # 配置ULA地址 uci set network.lan.ip6addr='fd78:cafe:cafe:ca7::1/64' uci commit network
LuCI图形界面方式
进入「网络」→「接口」→「LAN」,切换到IPv6设置,勾选「使用内置的IPv6管理」,前缀分配选「DHCPv6 PD」,前缀ID填0,然后手动添加ULA地址fd78:cafe:cafe:ca7::1/64,点击保存。
配置智能家居网(br-domotique)
命令行方式
# 先给接口添加IPv6协议配置 uci set network.domotique='interface' uci set network.domotique.ifname='br-domotique' uci set network.domotique.proto='static' # 配置GUA前缀分配,用第二个拿到的前缀(@1代表第二个) uci set network.domotique.ip6prefix='::/64' uci set network.domotique.ip6hint='1' # 配置ULA地址 uci set network.domotique.ip6addr='fd78:cafe:cafe:d0d0::1/64' uci commit network
LuCI图形界面方式
进入「网络」→「接口」→「br-domotique」,切换到IPv6设置,勾选「使用内置的IPv6管理」,前缀分配选「DHCPv6 PD」,前缀ID填1,手动添加ULA地址fd78:cafe:cafe:d0d0::1/64,点击保存。
第四步:给两个网段配置RA和DHCPv6服务
每个网段都要开启RA和DHCPv6,确保设备既能通过SLAAC生成地址,也能从DHCPv6拿到其他配置。
配置普通LAN的RA和DHCPv6
命令行方式
# 开启RA服务 uci set dhcp.lan.ra='server' uci set dhcp.lan.ra_default='1' # 开启DHCPv6服务 uci set dhcp.lan.dhcpv6='server' uci set dhcp.lan.ra_management='1' # 允许设备同时使用SLAAC和DHCPv6 uci commit dhcp
LuCI图形界面方式
进入「网络」→「DHCP/DNS」→「LAN」,切换到IPv6设置,RA服务选「服务器模式」,DHCPv6服务选「服务器模式」,勾选「路由通告管理标志」,点击保存。
配置智能家居网的RA和DHCPv6
命令行方式
# 先给智能家居网添加DHCP配置项 uci set dhcp.domotique='dhcp' uci set dhcp.domotique.interface='domotique' uci set dhcp.domotique.start='100' uci set dhcp.domotique.limit='150' uci set dhcp.domotique.leasetime='12h' # 开启RA服务 uci set dhcp.domotique.ra='server' uci set dhcp.domotique.ra_default='1' # 开启DHCPv6服务 uci set dhcp.domotique.dhcpv6='server' uci set dhcp.domotique.ra_management='1' uci commit dhcp
LuCI图形界面方式
进入「网络」→「DHCP/DNS」→「添加」,接口选br-domotique,切换到IPv6设置,RA服务选「服务器模式」,DHCPv6服务选「服务器模式」,勾选「路由通告管理标志」,设置好地址起始范围和租期,点击保存。
第五步:配置防火墙规则
要确保两个网段的访问控制,还有对外的IPv6连通性。
命令行方式
# 创建智能家居网的防火墙区域 uci set firewall.domotique='zone' uci set firewall.domotique.name='domotique' uci set firewall.domotique.network='domotique' uci set firewall.domotique.input='ACCEPT' # 允许网段内设备互访 uci set firewall.domotique.output='ACCEPT' uci set firewall.domotique.forward='REJECT' # 禁止两个LAN网段互访,按需调整 # 配置转发到WAN,让智能家居网能访问外网 uci set firewall.domotique_wan='forwarding' uci set firewall.domotique_wan.src='domotique' uci set firewall.domotique_wan.dest='wan' uci commit firewall
LuCI图形界面方式
进入「网络」→「防火墙」→「区域」→「添加」,名称填domotique,网络选br-domotique,输入、输出选「接受」,转发选「拒绝」,然后添加转发规则,从domotique到wan,点击保存应用。
最后一步:重启服务生效
配置完成后,重启网络和DHCP服务让设置生效:
/etc/init.d/network restart /etc/init.d/dnsmasq restart
或者在LuCI里点击「保存并应用」,等待服务重启即可。
注意事项
- 确认ISP支持分配多个/64前缀:可以用
ip -6 addr show dev wan6查看WAN6接口是否拿到了两个/64前缀,如果没拿到,可能需要联系ISP确认权限。 - 物理网口对应关系:用
ip link show查看路由器的网口名称,别把WAN口划到LAN桥接里,比如你的路由器LAN口可能是eth0.1,那可以把eth0.2分配给智能家居网。 - IPv6转发开关:检查
sysctl net.ipv6.conf.all.forwarding是否为1,OpenWRT默认是开启的,如果没开,执行sysctl -w net.ipv6.conf.all.forwarding=1,然后写入/etc/sysctl.conf永久生效。
备注:内容来源于stack exchange,提问作者Damien Clauzel




