Closed zhychen1173 closed 5 months ago
我用mihomo做OPNsense的透明代理是配合tun2socks实现的,tun2sock将流量转发到mihomo的socks端口。 是不是由于在这样的流程下,mihomo收到的请求都已经是ip了,不是域名了,所以DOMAIN-SUFFIX规则就失效了。如果是这样的话,还有办法让DOMAIN-SUFFIX规则有效吗?
我之前在OPNsense上装了AdGuardHome做dns,我把AdGuardHome的端口从53改成了其他端口,再把mihomo config.yaml里的dns的端口改成了53,重启OPNsense后,上不了网了。看来想通过mihomo劫持dns的方法解决DOMAIN-SUFFIX规则失效的问题好像行不通? dns: enable: true listen: 53 ipv6: true enhanced-mode: fake-ip fake-ip-range: 198.18.0.1/16 default-nameserver:
查看日志/连接,以确保内核收到的是域名
我之前在OPNsense上装了AdGuardHome做dns,我把AdGuardHome的端口从53改成了其他端口,再把mihomo config.yaml里的dns的端口改成了53,重启OPNsense后,上不了网了。看来想通过mihomo劫持dns的方法解决DOMAIN-SUFFIX规则失效的问题好像行不通? dns: enable: true listen: 53 ipv6: true enhanced-mode: fake-ip fake-ip-range: 198.18.0.1/16 default-nameserver: - 222.246.129.80 - 223.5.5.5 - 8.8.8.8 nameserver:
- https://dns.alidns.com/dns-query
- https://doh.pub/dns-query fallback:
- https://1.0.0.1/dns-query
tls://dns.google fallback-filter: geoip: true geoip-code: CN ipcidr:
- 240.0.0.0/4
我把dns下的listen 的端口号前加了 0.0.0.0: ,端口号改成了非53的端口号。 然后把adguardhome的端口号重新设为53,再把adguardhome的上游dns指向了mihomo,如: 127.0..0.1:5353
改完之后,mihomo收到的请求是域名了,不像之前全部是ip,而且 DOMAIN-SUFFIX规则 也生效了。
Verify steps
操作系统
OpenBSD/FreeBSD
系统版本
freebsd 13.2
Mihomo 版本
root@OPNsense:~ # /mnt/clash/bin/clash -v Mihomo Meta v1.18.5 freebsd amd64 with go1.22.3 Sun May 19 08:47:40 UTC 2024 Use tags: with_gvisor
配置文件
描述
我用mihomo 1.18.5 在软路由OPNsense中做透明代理。为了实现某些自定义的域名走代理或屏蔽,在rules下面,rule-set前面自定义了一些DOMAIN-SUFFIX 规则,定义了某些域名走代理,某些域名屏蔽。 但是在实际运行中,这些定义的域名并未按照配置文件中的规则走代理(域名对应的IP为国内阿里云IP),该屏蔽的域名也未屏蔽。
重现方式
局域网内电脑访问自定义的应走代理的域名,仍然是通过直连,未通过代理ip访问。 配置文件中定义了屏蔽adobe相关域名,但运行Photoshop仍然会发起连接验证激活请。 同样的配置文件,在电脑上直接运行clash for windows ,自定义的DOMAIN-SUFFIX 规则生效。
日志
No response