最近换了新的宽带,没有公网 IPV4 ,但是有公网 IPV6 ,因此想通过 IPV6 访问家里的 NAS ,但是打开 IPV6 后有两个问题:
仅给特定的 Mac 地址的设备分配 IPV6 和 IPV4 的地址,其他的设备只分配 IPV4 的地址; OpenWrt 或者独立部署的 DHCP Server 都可以
搜索相关的关键词,几乎都是来自于 https://www.v2ex.com/t/664819 ,通过配置 ip6table 的方式,但是在家里的路由器上配置后并不生效。这个帖子已经很久没有回复了。
帖子里的设备都是 OpenWrt 20 之前的版本,家里的路由器最低支持 22 ,不确定是否在更新版本上该配置方式是否失效。
也参考了其他的文档,较完善的如 https://notes.3pro.xyz/post/openwrt-ipv6.html ,也是一样的问题
在防火墙的通信规则中,尝试修改 Allow-DHCPv6 这个规则,指定了”源 MAC 地址“为目标地址和 br-lan 地址之后,所有的设备都获取不到 IPV6 地址,包括 br-lan
求助各位大佬,是否在高版本的 OpenWrt 上实现需求,或者有没有第三方的 DHCP 服务可以满足需求,感谢
config dhcp 'lan'
option interface 'lan'
option start '100'
option limit '150'
option leasetime '12h'
option dhcpv4 'server'
option dhcpv6 'server'
option dns_service '0'
option ra_dns '0'
option ra_slaac '0'
option ra 'server'
list ra_flags 'managed-config'
list ra_flags 'other-config'
1
qweqqwe 178 天前 via Android
好像 dnsmasq 可以,具体不太了解
|
2
ysc3839 178 天前 via Android 1
很麻烦,得用 DHCPv6 。
SLAAC 是在局域网内广播的,没法单独阻止某一设备接收到广播。 |
3
bobryjosin 178 天前
让 dns 只返回 ipv4 地址就可以了
|
4
bobryjosin 178 天前
@bobryjosin dhcpv6 有状态地址分配有些系统不支持,比如 android ,你可以用这个特性不给手机和电视分配地址,我觉得还是从 dns 下手比较方便
|
5
kaedeair 178 天前
首先让 wan 口丢弃转发的数据包,然后允许地址`::xxxx:xxxx:xxxx:xxxx/::ffff:ffff:ffff:ffff`来自 wan 的转发(xxxx 是 slaac 根据硬件特征生成的地址,就是前缀后面那一坨),这样你的下游设备都可以获得 ipv6 地址,但是外面访问不了,只有你允许的 ip 可以通过 wan 转发
如果想要让某个地址不分配 ipv6 ,可以 reject 掉此设备 ipv6-icmp 的入站包 |
6
Jays 178 天前 via Android
一直有这个需求,从未找到稳定的办法,你的第一条 通过防火墙规则,也是临时有效,下次连 wifi 的时候就无效了( mac 地址是固定的)。
|
7
test0x01 178 天前 via Android
关了 SLAAC, 用 dhcpv6, ip6tables 根据 mac 地址过滤 dhcp 的 547 端口就行了。一直这么用。至于不支持 dhcpv6 的客户端, 直接忽略。
|