1
Jays 2023-02-23 08:59:11 +08:00 via Android 1
|
2
terrancesiu 2023-02-23 09:11:59 +08:00
我是用 vlan 隔离的
|
3
maybeonly 2023-02-23 09:14:08 +08:00 1
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 |
4
pagxir 2023-02-23 09:14:21 +08:00 via Android
那就把科学上网的问题解决了吧。
|
5
YongXMan OP @terrancesiu 开启 vlan 主路由网卡不支持硬件解包,CPU 消耗比较大,所以没有开启 vlan ,并且很多智能家居设备需要在同一个 lan 中,开启 vlan 不太方便,所以想在一个局域网中解决这个问题。
|
6
Senorsen 2023-02-23 09:29:39 +08:00 via iPhone 1
我在 openwrt 配了可以的,首先比较重要的是关闭 slaac ,然后再配 firewall ,禁止所有 ipv6 udp 546-547 入站,允许部分设备(想给 ipv6 的)的 mac 地址入站。这样就可以了
|
7
Senorsen 2023-02-23 09:31:04 +08:00 via iPhone
接上条,我一般只给需要开 PT/BT 的 NAS 等设备按需开放 ipv6 地址,电脑和 PS5 等其他设备都不给
|
8
yaott2020 2023-02-23 09:31:26 +08:00 via Android
你不如劫持 ipv6 dns ban 掉境外 aaaa 记录
|
9
rainsounds 2023-02-23 09:59:27 +08:00
|
10
lcy630409 2023-02-23 10:08:09 +08:00
|
11
MikuM97 2023-02-23 10:18:06 +08:00
选择一款可以支持代理 IPv6 的科学工具,例如 passwall ,然后用主路由做代理,完美解决开启 ipv6 后无法科学的问题
|
12
yanyanjia 2023-02-23 10:19:13 +08:00
用 mosdns ,过滤掉非 cn 域名的 v6 的 AAAA 解析,我感觉体验还是很好的
|
13
fuzzsh 2023-02-23 10:55:52 +08:00 via Android 2
Android 只有 SLAAC 关了就不能获取地址了
Windows/macOS/iPadOS 都支持 DHCPv6 |
14
kukat 2023-02-23 12:07:44 +08:00
是不是没设置好,我家 openwrt+ipv6+openclash 全家上网没遇到问题
|
15
Bingchunmoli 2023-02-23 12:43:50 +08:00 via Android
换支持 v6 的节点😄
|
16
IDAEngine 2023-02-23 15:27:27 +08:00
用 adguardhome 做内网 dns ,然后屏蔽掉 ipv6 解析
|
17
icebow 2023-02-23 16:17:51 +08:00
也是同样的需求, 我用 lede/openwrt 同样也没办法给特定的设备分配 ipv6, 所以我弄了一个折中的方式:
在 DHCP/DNS - 高级设置 - 禁止解析 IPv6 DNS 记录 这样完全满足我的需求了, 在外面可以通过 ipv6 访问我的设备, 在家也不影响科学上网, 同时也防止了使用 ipv6 导致各种 cdn 失效的问题 |
18
wwbfred 2023-02-23 16:39:20 +08:00
新建一个网桥绑定另外一个网段,和之前那个网桥的唯一区别是它不开启 IPV6 。然后有线连接根据物理接口绑定到需要的网桥上,无线可以开两个 SSID ,分别绑定不同的网桥。OPENWRT 的话两个网桥是默认互通的,不会有被隔离的问题。
我之前使用过楼上提到的 iptables 拦截 546 端口和 icmp 的方案,它的问题是与 slaac 不兼容,会导致重新拨号的长时间断网和 android 设备无法正常工作。还有 DNS 拦截 AAAA 也可以尝试,unbound 就可以做到。 |
19
lihang1329 2023-02-23 17:11:15 +08:00
iptable 直接 drop 包有个问题,就是手机老是触发 fallback ,现象就是断流嗷
|
20
Jays 2023-02-23 17:17:08 +08:00 via Android
@lihang1329 同感!
|
21
Jays 2023-02-23 17:19:36 +08:00 via Android
@lcy630409 我现在用的就是这个思路,主路由关闭 aaaa 解析,手动给 nas 配置支持 ipv6 解析的 dns ,其他设备直接使用主路由 ip 作为 dns 。但是安卓还是会 ipv6 地址,有点不爽,但不影响使用。
|
22
lifanxi 2023-02-23 17:21:49 +08:00
我在 dnsmasq 上游加了一个 smartdns ,然后用 smartdns 过滤掉不想要的 AAAA 记录结果。
|
23
lihang1329 2023-02-23 17:53:29 +08:00
最好是划分 vlan, 一个 lan 开 ipv6,一个 lan 只有 ipv4 。
|
24
Jays 2023-02-23 19:46:44 +08:00 via Android
@lihang1329 划分完,两个 vlan 能互通吗?可以互通的话 会不会 还会接收到自动分配 ipv6 地址和 dns ?
|
25
lihang1329 2023-02-23 21:07:48 +08:00
@Jays Openwrt 是互通,就是新建一个 dhcp 网段,开启 ipv6 即可,把要用 ipv6 的设备用网线的方式接入即可。如果是虚拟机的话,就是加个网口的问题,就是双栈网络了
|
26
lihang1329 2023-02-23 21:10:28 +08:00
@Jays ipv6 分配的时候只会分配当前网段
|
27
lihang1329 2023-02-23 21:11:05 +08:00
@Jays DNS 我建议关闭 ipv6 的返回,不然你 ipv4 的网络获取到 ipv6 的地址会出现访问超时的问题
|
28
Jays 2023-02-23 22:34:54 +08:00 via Android
@lihang1329 好的 谢谢
|
29
jcxq5200 2023-02-23 23:26:08 +08:00 via iPhone
5.15 内核的 openwrt 可以设置不下发 ipv6dns 服务器。mosdns 国外域名屏蔽 AAAA 。这样不影响国内 ipv6 域名
|
30
dcsuibian 2023-02-23 23:40:59 +08:00
家里有一台 nvidia shield ,用 Clash for Android 总是出问题,需要透明代理。
我的选择是,搞一个旁路由,开启科学上网,shield 就采用手动 ip 地址设定(这种情况下应该不会有 ipv6 )。 家里的主路由为了网络稳定性,我是不会开启科学上网的,同时为了战未来,也是开启了 ipv6 的。 而旁路由的 ipv6 我是关了的,因为目前 openclash 有不少 bug 都是关于 ipv6 的,再说其实 shield 也就看看电视,不开启 ipv6 也没啥影响。 |
31
swiftg 2023-02-24 08:42:55 +08:00 via iPhone
dns 的方案看似简单,实际都不好,只要设备有 ipv6 地址就会优先尝试使用 ipv6 ,用不了才用 ipv4 ,造成延迟
|
34
lihang1329 2023-02-24 14:46:03 +08:00
@swiftg 可以分享下你的方案吗
|
35
Jays 2023-02-24 19:48:37 +08:00 via Android
@swiftg 求一下,防火墙配置的参数。实在被这个问题烦死了 。。。现在只能靠 dns 的办法将就用,比之前安卓既能获取到 ipv6 地址,又有 ipv6 dns 的时候好多了
|
36
YongXMan OP @fuzzsh 确实,关闭 dhcpv6 无状态,只开启有状态就可以屏蔽 android 设备获取到 ipv6 了,因为 android 无法手动关闭 ipv6 ,而我的主要需求就是关闭 android 设备获取 ipv6 。问题解决。😄
|