You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

OpenWRT路由器多GUA /64 WAN环境下实现分离LAN(各配独立/64前缀及RA+DHCPv6)配置求助

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

想要实现的目标

将现有网络拆分为两个独立网段:landomotique,具体规划:

  • 每个网段分配独立的GUA /64前缀
  • 把ULA前缀fd78:cafe:cafe::/48子网化,拆分出两个/64:
    • 普通LAN用fd78:cafe:cafe:ca7::/64
    • 智能家居网用fd78:cafe:cafe:d0d0::/64
  • 两个网段都要正常启用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-lanbr-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,输入、输出选「接受」,转发选「拒绝」,然后添加转发规则,从domotiquewan,点击保存应用。

最后一步:重启服务生效

配置完成后,重启网络和DHCP服务让设置生效:

/etc/init.d/network restart
/etc/init.d/dnsmasq restart

或者在LuCI里点击「保存并应用」,等待服务重启即可。

注意事项

  1. 确认ISP支持分配多个/64前缀:可以用ip -6 addr show dev wan6查看WAN6接口是否拿到了两个/64前缀,如果没拿到,可能需要联系ISP确认权限。
  2. 物理网口对应关系:用ip link show查看路由器的网口名称,别把WAN口划到LAN桥接里,比如你的路由器LAN口可能是eth0.1,那可以把eth0.2分配给智能家居网。
  3. IPv6转发开关:检查sysctl net.ipv6.conf.all.forwarding是否为1,OpenWRT默认是开启的,如果没开,执行sysctl -w net.ipv6.conf.all.forwarding=1,然后写入/etc/sysctl.conf永久生效。

备注:内容来源于stack exchange,提问作者Damien Clauzel

火山引擎 最新活动