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

Unifi EdgeRouter X配置基于ULA(fd00:/8)地址的LAN端IPv6 DNS及DHCP服务问询

Unifi EdgeRouter X配置基于ULA(fd00:/8)地址的LAN端IPv6 DNS及DHCP服务问询

嘿,刚好我在EdgeRouter X上折腾过一模一样的需求——ISP只有IPv4,但想给LAN配置ULA的IPv6,还要用路由器自带的DNS和DHCPv6,完全不用额外的树莓派!下面是适配你EdgeOS v2.0.9-hotfix.7版本的实操步骤,跟着来就行:

1. 生成并配置ULA前缀

首先你需要一个专属的ULA前缀(得在fd00:/8范围内),可以自己生成,或者直接用我示例里的(记得换成你自己的,避免和其他网络冲突)。登录ER-X的CLI,执行以下命令:

configure
# 替换成你自己的ULA前缀,比如fd00:你的自定义标识::/48
set system ipv6 ula-prefix fd00:abcd:1234::/48
commit
save
exit

2. 给LAN接口配置IPv6地址

假设你的LAN是用switch0(ER-X默认桥接eth1-4为switch0),如果是单独的LAN接口就换成对应的名称(比如eth1)。这里推荐手动分配一个/64子网,更可控:

configure
# 从ULA前缀里划一个/64子网,网关设为::1
set interfaces switch switch0 ipv6 address fd00:abcd:1234:1::1/64
# 开启IPv6支持
set interfaces switch switch0 ipv6 enable
# 确保系统IPv6转发开启
set system ipv6 forwarding enable
commit
save
exit

3. 配置DHCPv6服务器(无状态/有状态可选)

如果你只需要客户端自动生成IPv6地址(无状态),同时获取DNS和域名信息,用下面的配置;如果需要路由器分配固定IPv6地址(有状态),可以额外加一段范围配置。

无状态DHCPv6配置

configure
set service dhcpv6-server shared-network-name LAN subnet fd00:abcd:1234:1::/64 prefix-delegation prefix fd00:abcd:1234:1::/64
# 指定DNS服务器为路由器自身的IPv6地址
set service dhcpv6-server shared-network-name LAN subnet fd00:abcd:1234:1::/64 name-server fd00:abcd:1234:1::1
# 设置你的本地域名,比如home.local
set service dhcpv6-server shared-network-name LAN subnet fd00:abcd:1234:1::/64 domain-name "home.local"
commit
save
exit

(可选)有状态DHCPv6配置

如果需要给客户端分配固定范围的IPv6地址,在上面的基础上再加:

configure
set service dhcpv6-server shared-network-name LAN subnet fd00:abcd:1234:1::/64 range RANGE1 start fd00:abcd:1234:1::100 end fd00:abcd:1234:1::200
commit
save
exit

4. 配置DNS转发支持IPv6动态更新

EdgeOS的dnsmasq支持自动从DHCPv6客户端同步AAAA记录,这样你就能通过本地域名访问IPv6设备了。配置如下:

configure
# 开启IPv6 DNS转发
set service dns forwarding ipv6 enable
# 设置本地域名
set service dns forwarding domain "home.local"
# 添加dnsmasq自定义选项,开启RA和DHCPv6动态更新
set service dns forwarding options "enable-ra"
set service dns forwarding options "dhcp-range=::,constructor:switch0,ra-names,12h"
set service dns forwarding options "dhcp-option=option6:dns-server,[fd00:abcd:1234:1::1]"
set service dns forwarding options "dhcp-option=option6:domain-search,home.local"
set service dns forwarding options "enable-dhcpv6"
commit
save
exit

注意: 这里的constructor:switch0要和你的LAN接口名称一致,如果是eth1就换成constructor:eth1

5. 验证配置是否生效

最后重启相关服务,确保配置生效:

restart dhcpv6-server
restart dns forwarding

然后在客户端做以下验证:

  • 检查客户端是否获取到fd00:开头的IPv6地址
  • nslookup或者dig查询客户端的主机名,看是否返回对应的AAAA记录
  • ping6 fd00:abcd:1234:1::1测试和路由器的IPv6连通性

如果遇到问题,可以检查ER-X的系统日志(show log),看看DHCPv6和DNS服务有没有报错。

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

火山引擎 最新活动