基于Clash.Meta实现的流量分离
# 前置知识
# DNS
redir-host:
fake-ip:
选择
现在主流的选择似乎是 fake-ip
,这种模式在全局 DNS 走代理查询的情况下,相较于 redir-host
可以减少一个 DNS 查询的延迟,但实际上浏览器、操作系统都有 DNS 缓存,因此通常只能减少首次访问时延迟,但因此带来的弊端就很困扰:
无法 ping 得准确延迟:在开发中难免需要 ping 一些 ip 或域名,而返回的 fake-ip 毫无帮助
- PS:在 tun 模式下使用 redir-host,显示的延迟仍然是 < 1ms,因为 ping 的实际是 tun 网卡
全局模式体验不好:国内购物网站全变国际版
一些优化
- Windows:策略组 - 计算机配置 - 管理模板 - 网络 - DNS 客户端 - 禁用智能多宿主名称解析,启用
- 不然会 Windows 会向所有网络发出并行的 DNS 查询,从而导致 DNS 泄露
- 实践发现:tun 模式下仍然会泄露,需手动指定一个不可用的 DNS
如127.0.0.1
给出口网卡
- 关闭 QUIC:
chrome://flags
-Experimental QUIC protocol
,Disable- Clash 暂不处理 UDP 域名,而国际互联网网站都大多默认使用 QUIC,从而导致 DNS 泄露
# 分流规则
# 配置文件
# 遇到的坑
在使用 OpenWrt 时发现域名 abc.com
解析到外网的子域名可以正常获取 ip,解析到内网的无法获取,使用在 oepnwrt 的终端执行 nslookup 内网.abc.com
发现无法正常返回。
开启 DHCP/DNS-记录查询日志
发现如下信息
Sat Oct 14 10:52:15 2023 daemon.info dnsmasq[1]: 7 192.168.1.104/59415 query[A] 内网.abc.com from 192.168.1.104
Sat Oct 14 10:52:15 2023 daemon.info dnsmasq[1]: 7 192.168.1.104/59415 forwarded 内网.abc.com to 127.0.0.1#7874
Sat Oct 14 10:52:15 2023 daemon.warn dnsmasq[1]: possible DNS-rebind attack detected: 内网.abc.com
Sat Oct 14 10:52:15 2023 daemon.info dnsmasq[1]: 8 192.168.1.104/59416 query[AAAA] 内网.abc.com from 192.168.1.104
Sat Oct 14 10:52:15 2023 daemon.info dnsmasq[1]: 8 192.168.1.104/59416 forwarded 内网.abc.com to 127.0.0.1#7874
Sat Oct 14 10:52:15 2023 daemon.info dnsmasq[1]: 8 192.168.1.104/59416 reply 内网.abc.com is NODATA-IPv6
Sat Oct 14 10:52:15 2023 daemon.info dnsmasq[1]: 9 192.168.1.104/59417 query[A] 内网.abc.com from 192.168.1.104
Sat Oct 14 10:52:15 2023 daemon.info dnsmasq[1]: 9 192.168.1.104/59417 forwarded 内网.abc.com to 127.0.0.1#7874
Sat Oct 14 10:52:15 2023 daemon.warn dnsmasq[1]: possible DNS-rebind attack detected: 内网.abc.com
Sat Oct 14 10:52:15 2023 daemon.info dnsmasq[1]: 10 192.168.1.104/59418 query[AAAA] 内网.abc.com from 192.168.1.104
Sat Oct 14 10:52:15 2023 daemon.info dnsmasq[1]: 10 192.168.1.104/59418 forwarded 内网.abc.com to 127.0.0.1#7874
Sat Oct 14 10:52:15 2023 daemon.info dnsmasq[1]: 10 192.168.1.104/59418 reply 内网.abc.com is NODATA-IPv6
询问 ChatGPT 得到的回复:
这些日志表示有一个来自 IP 地址为 192.168.1.104 的主机对
内网.abc.com
域名进行了查询,并且 DNS 服务器在处理这些查询时检测到可能的 DNS 重新绑定攻击。该攻击可能会导致恶意代码通过 DNS 查询进行传播。因此,DNS 服务器发送了警告消息。最后,对于内网.abc.com
域名的 AAAA 记录查询,DNS 服务器返回了 NODATA-IPv6,表示找不到 IPv6 地址。
通过在 google 搜索 possible DNS-rebind attack detected "clash"
找到参考网址,得知是 DHCP/DNS-重绑定保护
导致的问题,关闭后应用配置解决。
# 参考
上次更新: 2023/12/26, 16:51:58