在同一个局域网内能选择部分设备开启 ipv6

2023-02-23 08:47:26 +08:00
 YongXMan
想实现在同一个局域网内能选择部分设备开启 ipv6 ,但发现 dhcpv6 没有类似的功能,因为开启 ipv6 后安卓设备科学上网有问题,设备不 root 也不方便关闭,但局域网内有其他设备需要开启 ipv6 ,如果能在 dhcp server 进行控制就完美了,不知道有什么解决方案?
2929 次点击
所在节点    宽带症候群
38 条回复
Jays
2023-02-23 08:59:11 +08:00
https://www.v2ex.com/t/664819

可以参考下这个,但是我测试了,不太好用。可能当天有效,然后非指定的设备还是可以自动获取到 ipv6 地址和 ipv6 dns
terrancesiu
2023-02-23 09:11:59 +08:00
我是用 vlan 隔离的
maybeonly
2023-02-23 09:14:08 +08:00
1.分 vlan 只在特定 vlan 开启
2.ip6tables 干掉 ra/dhcpv6 看上面那个
3.
其实只要把来自你不喜欢的设备的 ipv6 请求都 drop 掉就行了,甚至可以做成白名单
这样设备会认为 v6 不可用而自动用 v4 ,即使他有 v6 地址
e.g.
ip6tables -A FORWARD -i br0 -m mac --mac-source 00:11:22:33:44:55 -j ACCEPT
ip6tables -A FORWARD -i br0 -j REJECT
pagxir
2023-02-23 09:14:21 +08:00
那就把科学上网的问题解决了吧。
YongXMan
2023-02-23 09:26:41 +08:00
@terrancesiu 开启 vlan 主路由网卡不支持硬件解包,CPU 消耗比较大,所以没有开启 vlan ,并且很多智能家居设备需要在同一个 lan 中,开启 vlan 不太方便,所以想在一个局域网中解决这个问题。
Senorsen
2023-02-23 09:29:39 +08:00
我在 openwrt 配了可以的,首先比较重要的是关闭 slaac ,然后再配 firewall ,禁止所有 ipv6 udp 546-547 入站,允许部分设备(想给 ipv6 的)的 mac 地址入站。这样就可以了
Senorsen
2023-02-23 09:31:04 +08:00
接上条,我一般只给需要开 PT/BT 的 NAS 等设备按需开放 ipv6 地址,电脑和 PS5 等其他设备都不给
yaott2020
2023-02-23 09:31:26 +08:00
你不如劫持 ipv6 dns ban 掉境外 aaaa 记录
rainsounds
2023-02-23 09:59:27 +08:00
lcy630409
2023-02-23 10:08:09 +08:00
换一种思路,我目前的
开启 ipv6 但是 ipv6 不给 dns ,ipv4 的 dns 只允许 ipv4 返回
MikuM97
2023-02-23 10:18:06 +08:00
选择一款可以支持代理 IPv6 的科学工具,例如 passwall ,然后用主路由做代理,完美解决开启 ipv6 后无法科学的问题
yanyanjia
2023-02-23 10:19:13 +08:00
用 mosdns ,过滤掉非 cn 域名的 v6 的 AAAA 解析,我感觉体验还是很好的
fuzzsh
2023-02-23 10:55:52 +08:00
Android 只有 SLAAC 关了就不能获取地址了

Windows/macOS/iPadOS 都支持 DHCPv6
kukat
2023-02-23 12:07:44 +08:00
是不是没设置好,我家 openwrt+ipv6+openclash 全家上网没遇到问题
Bingchunmoli
2023-02-23 12:43:50 +08:00
换支持 v6 的节点😄
IDAEngine
2023-02-23 15:27:27 +08:00
用 adguardhome 做内网 dns ,然后屏蔽掉 ipv6 解析
icebow
2023-02-23 16:17:51 +08:00
也是同样的需求, 我用 lede/openwrt 同样也没办法给特定的设备分配 ipv6, 所以我弄了一个折中的方式:
在 DHCP/DNS - 高级设置 - 禁止解析 IPv6 DNS 记录

这样完全满足我的需求了, 在外面可以通过 ipv6 访问我的设备, 在家也不影响科学上网, 同时也防止了使用 ipv6 导致各种 cdn 失效的问题
wwbfred
2023-02-23 16:39:20 +08:00
新建一个网桥绑定另外一个网段,和之前那个网桥的唯一区别是它不开启 IPV6 。然后有线连接根据物理接口绑定到需要的网桥上,无线可以开两个 SSID ,分别绑定不同的网桥。OPENWRT 的话两个网桥是默认互通的,不会有被隔离的问题。
我之前使用过楼上提到的 iptables 拦截 546 端口和 icmp 的方案,它的问题是与 slaac 不兼容,会导致重新拨号的长时间断网和 android 设备无法正常工作。还有 DNS 拦截 AAAA 也可以尝试,unbound 就可以做到。
lihang1329
2023-02-23 17:11:15 +08:00
iptable 直接 drop 包有个问题,就是手机老是触发 fallback ,现象就是断流嗷
Jays
2023-02-23 17:17:08 +08:00
@lihang1329 同感!

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/918412

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX