vernesong / OpenClash

A Clash Client For OpenWrt
MIT License
17.78k stars 3.21k forks source link

[Bug] 日志显示IP而非域名导致手工分流困难 #4123

Open E-R-Butch opened 1 month ago

E-R-Butch commented 1 month ago

Verify Steps

OpenClash Version

0.46.033

Bug on Environment

Other

OpenWrt Version

bleachwrt plus 20240325 @ R24.2.2 / LuCI Master (git-24.071.74519-c79d23b)

Bug on Platform

Linux-amd64(x86-64)

Describe the Bug

不知是否和meta内核有关,日志中返回大量纯IP地址,而非域名,导致手工分流较困难。 “ [WARNING] [TCP] dial 🐟 漏网之鱼 (match Match/) 192.168.50.103:56745 --> 216.239.34.157:443 error: connect failed: dial tcp 216.239.34.157:443: i/o timeout ”

目前需要对每一个IP(/32)进行手动分流,否则如Google,Gemini等无法正常使用,目前我已经操作的分流如下: “

这不仅非常繁琐,而且我现在还没搞定Google Play更新。 我不想使用Proxy作为漏网之鱼的fallback

To Reproduce

访问网站

OpenClash Log

OpenClash 调试日志

生成时间: 2024-10-17 12:27:29
插件版本: v0.46.033-beta
隐私提示: 上传此日志前请注意检查、屏蔽公网IP、节点、密码等相关敏感信息

#===================== 系统信息 =====================#

主机型号: NEC INVALID/SHARKBAY - Intel(R) Core(TM) i5-4570S CPU @ 2.90GHz : 4C4T
固件版本: OpenWrt SNAPSHOT r6515-af6fdbd09
LuCI版本: git-24.071.74519-c79d23b-1
内核版本: 6.1.82
处理器架构: x86_64

#此项有值时,如不使用IPv6,建议到网络-接口-lan的设置中禁用IPV6的DHCP
IPV6-DHCP: 

DNS劫持: Firewall 转发
#DNS劫持为Dnsmasq时,此项结果应仅有配置文件的DNS监听地址
Dnsmasq转发设置: 

#===================== 依赖检查 =====================#

dnsmasq-full: 已安装
coreutils: 已安装
coreutils-nohup: 已安装
bash: 已安装
curl: 已安装
ca-certificates: 已安装
ipset: 已安装
ip-full: 已安装
libcap: 已安装
libcap-bin: 已安装
ruby: 已安装
ruby-yaml: 已安装
ruby-psych: 已安装
ruby-pstore: 已安装
kmod-tun(TUN模式): 已安装
luci-compat(Luci >= 19.07): 已安装
kmod-inet-diag(PROCESS-NAME): 已安装
unzip: 已安装
iptables-mod-tproxy: 已安装
kmod-ipt-tproxy: 已安装
iptables-mod-extra: 已安装
kmod-ipt-extra: 已安装
kmod-ipt-nat: 已安装

#===================== 内核检查 =====================#

运行状态: 运行中
运行内核:Meta
进程pid: 13804
运行权限: 13804: cap_dac_override,cap_net_bind_service,cap_net_admin,cap_net_raw,cap_sys_ptrace,cap_sys_admin,cap_sys_resource=eip
运行用户: nobody
已选择的架构: linux-amd64

#下方无法显示内核版本号时请确认您的内核版本是否正确或者有无权限

Meta内核版本: alpha-g59a2b24
Meta内核文件: 存在
Meta内核运行权限: 正常

#===================== 插件设置 =====================#

当前配置文件: /etc/openclash/config/酥喵云.yaml
启动配置文件: /etc/openclash/酥喵云.yaml
运行模式: fake-ip-mix
默认代理模式: rule
UDP流量转发(tproxy): 停用
自定义DNS: 启用
IPV6代理: 停用
IPV6-DNS解析: 启用
禁用Dnsmasq缓存: 停用
自定义规则: 启用
仅允许内网: 停用
仅代理命中规则流量: 停用
仅允许常用端口流量: 停用
绕过中国大陆IP: 停用
路由本机代理: 启用

#启动异常时建议关闭此项后重试
混合节点: 停用
保留配置: 停用

#启动异常时建议关闭此项后重试
第三方规则: 停用

#===================== 自定义规则 一 =====================#
script:
##  shortcuts:
##    Notice: The core timezone is UTC
##    CST 20:00-24:00 = time.now().hour > 12 and time.now().hour < 16
##    内核时区为UTC,故以下time.now()函数的取值需要根据本地时区进行转换
##    北京时间(CST) 20:00-24:00 = time.now().hour > 12 and time.now().hour < 16
##    quic: network == 'udp' and dst_port == 443 and (geoip(resolve_ip(host)) != 'CN' or geoip(dst_ip) != 'CN')
##    time-limit: in_cidr(src_ip,'192.168.1.2/32') and time.now().hour < 20 or time.now().hour > 21
##    time-limit: src_ip == '192.168.1.2' and time.now().hour < 20 or time.now().hour > 21

##  code: |
##    def main(ctx, metadata):
##        directkeywordlist = ["baidu"]
##        for directkeyword in directkeywordlist:
##          if directkeyword in metadata["host"]:
##            ctx.log('[Script] matched keyword %s use direct' % directkeyword)
##            return "DIRECT"

rules:
##- SCRIPT,quic,REJECT #shortcuts rule
##- SCRIPT,time-limit,REJECT #shortcuts rule

##- PROCESS-NAME,curl,DIRECT #匹配路由自身进程(curl直连)
##- DOMAIN-SUFFIX,google.com,Proxy #匹配域名后缀(交由Proxy代理服务器组)
###部分机场列表###
- DOMAIN-SUFFIX,miaosu22.xyz,🚀 节点选择 #喵酥云的官网
- DOMAIN-SUFFIX,miaosu.xyz,🚀 节点选择 #喵酥云机场
- DOMAIN-SUFFIX,一元机场.ink,🚀 节点选择 #一元机场的官网
###英伟达-AMD-INTEL##
- DOMAIN-SUFFIX,events.gfe.nvidia.com,DIRECT
- DOMAIN-SUFFIX,lightstep.kaizen.nvidia.com,DIRECT
- DOMAIN-SUFFIX,drivers.amd.com,DIRECT
- DOMAIN-SUFFIX,api.intel.com,DIRECT
- DOMAIN-SUFFIX,dsadata.intel.com,DIRECT
- DOMAIN-SUFFIX,ota.nvidia.com,DIRECT
- DOMAIN-SUFFIX,public.games.geforce.com,DIRECT
- DOMAIN-SUFFIX,services.gfe.nvidia.com,DIRECT
- DOMAIN-SUFFIX,img.nvidiagrid.net,DIRECT
- DOMAIN-SUFFIX,prod.otel.kaizen.nvidia.com,DIRECT
####TMDB规则####
- DOMAIN-SUFFIX,themoviedb.org,🚀 节点选择 #已被墙
- DOMAIN-SUFFIX,image.tmdb.org,🚀 节点选择
####以下是未分类规则####
- DOMAIN-SUFFIX,pool.ntp.org,🚀 节点选择 #这东西都墙?
- DOMAIN-SUFFIX,api.dler.io,DIRECT #直到它被墙了为止
- DOMAIN-SUFFIX,a.nel.cloudflare.com,DIRECT
- DOMAIN-SUFFIX,c.lencr.org,DIRECT
- DOMAIN-SUFFIX,digicert.com,DIRECT
- DOMAIN-SUFFIX,cpolar.top,DIRECT

- DOMAIN-SUFFIX,weatheroffer.com,DIRECT
- DOMAIN-SUFFIX,api.ipify.org,🚀 节点选择
- DOMAIN-SUFFIX,api-ipv4.ip.sb,DIRECT
- DOMAIN-SUFFIX,wiki.coreelec.org,DIRECT
- DOMAIN-SUFFIX,r11.o.lencr.org,DIRECT
- DOMAIN-SUFFIX,crl.verisign.com,DIRECT
- DOMAIN-SUFFIX,basic-static-server.infinitynewtab.com,🚀 节点选择
- DOMAIN-SUFFIX,api.ttt.sh,DIRECT
###微软规则###
- DOMAIN-SUFFIX,title.auth.xboxlive.com,DIRECT
- DOMAIN-SUFFIX,user.auth.xboxlive.com,DIRECT
- DOMAIN-SUFFIX,title.mgt.xboxlive.com,DIRECT
- DOMAIN-SUFFIX,xsts.auth.xboxlive.com,DIRECT
- DOMAIN-SUFFIX,images-eds-ssl.xboxlive.com,DIRECT
- DOMAIN-SUFFIX,da.xboxservices.com,DIRECT
- DOMAIN-SUFFIX,v10.events.data.microsoft.com,🚀 节点选择
- DOMAIN-SUFFIX,apple-relay.fastly-edge.com,DIRECT
- DOMAIN-SUFFIX,ers.samsungcloud.com,DIRECT
- DOMAIN-SUFFIX,img.shields.io,DIRECT
###docker规则###
- DOMAIN-SUFFIX,auth.docker.io,🚀 节点选择
- DOMAIN-SUFFIX,index.docker.io,🚀 节点选择
- DOMAIN-SUFFIX,hub.docker.com,🚀 节点选择
- DOMAIN-SUFFIX,registry-1.docker.io,🚀 节点选择
- DOMAIN-SUFFIX,production.cloudflare.docker.com,🚀 节点选择
###蠢驴规则###
- DOMAIN-SUFFIX,prod-telemetry.paradox-interactive.com,DIRECT
- DOMAIN-SUFFIX,revocation-prod.paradox-interactive.com,DIRECT
- DOMAIN-SUFFIX,api.paradox-interactive.com,DIRECT
- DOMAIN-SUFFIX,distribution-fastly-prod.paradox-interactive.com,DIRECT
######群晖海外版的规则######
- DOMAIN-SUFFIX,apiauth.quickconnect.to,DIRECT
- DOMAIN-SUFFIX,global.synologydownload.com,DIRECT
- DOMAIN-SUFFIX,packages.synocommunity.com,DIRECT
##以下是PT站点常用分流规则
- DOMAIN-SUFFIX,p4p.arenabg.com,DIRECT
- DOMAIN-SUFFIX,tracker.cyberia.is,DIRECT
- DOMAIN-SUFFIX,ptcafe.club,DIRECT
- DOMAIN-SUFFIX,nyaa.tracker.wf,DIRECT
- DOMAIN-SUFFIX,api.subtitle.best,DIRECT
- DOMAIN-SUFFIX,api.assrt.net,DIRECT
- DOMAIN-SUFFIX,tracker.srv00.com,DIRECT
- DOMAIN-SUFFIX,t.nyaatracker.com,DIRECT
- DOMAIN-SUFFIX,tr.cili001.com,🚀 节点选择
- DOMAIN-SUFFIX,opentracker.xyz,🚀 节点选择
- DOMAIN-SUFFIX,tracker2.dler.com,DIRECT
- DOMAIN-SUFFIX,openbittorrent.com,DIRECT
- DOMAIN-SUFFIX,bt4g.com,🚀 节点选择
- DOMAIN-SUFFIX,tracker.files.fm,🚀 节点选择
- DOMAIN-SUFFIX,tp.m-team.cc,🚀 节点选择

##############以下是一些未知的IP端分流设置######################
- IP-CIDR,204.80.128.1/32,DIRECT

- IP-CIDR,103.195.103.66/32,DIRECT
- IP-CIDR,84.17.53.155/32,DIRECT
- IP-CIDR,103.28.54.102/32,DIRECT
- IP-CIDR,103.28.54.100/32,DIRECT

- IP-CIDR,20.205.243.166/32,🚀 节点选择
- IP-CIDR,104.71.154.102/32,🚀 节点选择
- IP-CIDR,172.217.14.234/32,🚀 节点选择
- IP-CIDR,172.67.74.152/32,🚀 节点选择
- IP-CIDR,104.26.12.205/32,🚀 节点选择
- IP-CIDR,142.251.211.234/32,🚀 节点选择
- IP-CIDR,142.250.217.74/32,🚀 节点选择
- IP-CIDR,142.251.33.106/32,🚀 节点选择
- IP-CIDR,8.7.198.46/32,🚀 节点选择
- IP-CIDR,199.59.148.229/32,🚀 节点选择
- IP-CIDR,142.250.217.78/32,🚀 节点选择
- IP-CIDR,142.251.211.238/32,🚀 节点选择 ##Google Gemini
- IP-CIDR,93.46.8.90/32,🚀 节点选择
- IP-CIDR,142.250.69.193/32,🚀 节点选择
- IP-CIDR,23.222.161.105/32,🚀 节点选择
- IP-CIDR,59.24.3.174/32,🚀 节点选择
- IP-CIDR,103.10.124.5/32,🚀 节点选择
- IP-CIDR,172.217.14.202/32,🚀 节点选择
- IP-CIDR,104.26.13.205/32,🚀 节点选择
- IP-CIDR,142.250.69.202/32,🚀 节点选择
- IP-CIDR,216.239.36.223/32,🚀 节点选择
- IP-CIDR,142.250.217.110/32,🚀 节点选择
- IP-CIDR,142.250.217.106/32,🚀 节点选择
- IP-CIDR,142.251.215.234/32,🚀 节点选择
- IP-CIDR,104.244.46.165/32,🚀 节点选择 #Google Play相关
- IP-CIDR,103.228.130.27/32,🚀 节点选择
- IP-CIDR,199.16.158.182/32,🚀 节点选择
- IP-CIDR,199.59.149.202/32,🚀 节点选择
- IP-CIDR,128.242.240.59/32,🚀 节点选择
- IP-CIDR,103.252.115.49/32,🚀 节点选择
- IP-CIDR,216.239.32.223/32,🚀 节点选择
- IP-CIDR,199.16.158.9/32,🚀 节点选择
- IP-CIDR,46.82.174.69/32,🚀 节点选择
##- DOMAIN-KEYWORD,google,Proxy #匹配域名关键字(交由Proxy代理服务器组)
##- DOMAIN,google.com,Proxy #匹配域名(交由Proxy代理服务器组)
##- DOMAIN-SUFFIX,ad.com,REJECT #匹配域名后缀(拒绝)
##- IP-CIDR,216.239.34.223,Proxy
##- IP-CIDR,127.0.0.0/8,DIRECT #匹配数据目标IP(直连)
##- SRC-IP-CIDR,192.168.1.201/32,DIRECT #匹配数据发起IP(直连)
##- DST-PORT,80,DIRECT #匹配数据目标端口(直连)
##- SRC-PORT,7777,DIRECT #匹配数据源端口(直连)

##排序在上的规则优先生效,如添加(去除规则前的#号):
##IP段:192.168.1.2-192.168.1.200 直连
###自己家的NAS,防火墙转发有泄露###
- SRC-IP-CIDR,192.168.50.2/32,DIRECT   #FK923
- SRC-IP-CIDR,192.168.50.10/32,DIRECT  #BK920
- SRC-IP-CIDR,192.168.50.11/32,DIRECT  #DS3617xs
- SRC-IP-CIDR,192.168.50.12/32,DIRECT  #FK3617xs
##- SRC-IP-CIDR,192.168.1.2/31,DIRECT
##- SRC-IP-CIDR,192.168.1.4/30,DIRECT
##- SRC-IP-CIDR,192.168.1.8/29,DIRECT
##- SRC-IP-CIDR,192.168.1.16/28,DIRECT
##- SRC-IP-CIDR,192.168.1.32/27,DIRECT
##- SRC-IP-CIDR,192.168.1.64/26,DIRECT
##- SRC-IP-CIDR,192.168.1.128/26,DIRECT
##- SRC-IP-CIDR,192.168.1.192/29,DIRECT
##- SRC-IP-CIDR,192.168.1.200/32,DIRECT

##IP段:192.168.1.202-192.168.1.255 直连
##- SRC-IP-CIDR,192.168.1.202/31,DIRECT
##- SRC-IP-CIDR,192.168.1.204/30,DIRECT
##- SRC-IP-CIDR,192.168.1.208/28,DIRECT
##- SRC-IP-CIDR,192.168.1.224/27,DIRECT

##此时IP为192.168.1.1和192.168.1.201的客户端流量走代理(策略),其余客户端不走代理
##因为Fake-IP模式下,IP地址为192.168.1.1的路由器自身流量可走代理(策略),所以需要排除

##仅设置路由器自身直连:
##- SRC-IP-CIDR,192.168.1.1/32,DIRECT
##- SRC-IP-CIDR,198.18.0.1/32,DIRECT

##DDNS
##- DOMAIN-SUFFIX,checkip.dyndns.org,DIRECT
##- DOMAIN-SUFFIX,checkipv6.dyndns.org,DIRECT
##- DOMAIN-SUFFIX,checkip.synology.com,DIRECT
##- DOMAIN-SUFFIX,ifconfig.co,DIRECT
##- DOMAIN-SUFFIX,api.myip.com,DIRECT
##- DOMAIN-SUFFIX,ip-api.com,DIRECT
##- DOMAIN-SUFFIX,ipapi.co,DIRECT
##- DOMAIN-SUFFIX,ip6.seeip.org,DIRECT
##- DOMAIN-SUFFIX,members.3322.org,DIRECT
##在线IP段转CIDR地址:http://ip2cidr.com
dns:
  enable: true
  listen: 0.0.0.0:53
  enhanced-mode: fake-ip
  nameserver:
    - 223.5.5.5
  fallback:
    - 8.8.4.4
  fallback-filter:
    geoip: true
    ipcidr:
      - 240.0.0.0/4
  fake-ip-range: 198.18.0.1/16
  fake-ip-filter:
  use-hosts: true

OpenClash Config

No response

Expected Behavior

是否可以不解析域名?直接对域名分流

Additional Context

No response

vernesong commented 1 month ago

检查dns劫持情况

E-R-Butch commented 1 month ago

检查dns劫持情况

未做任何更改,在插件设置---DNS设置---本地DNS劫持下 重新选择防火墙转发(原本使用的也是) 应用配置

现在问题解决了,日志如下:

[2024-10-18 10:28:04][INFO] [TCP] 192.168.50.103:54293 --> google.com:443 match IPCIDR(93.46.8.90/32) using 🚀 节点选择[🇯🇵 SVIP 日本 3]

只有少部分还是IP地址

[2024-10-18 10:28:59][INFO] [TCP] 192.168.50.103:54449 --> 142.250.217.110:443 match IPCIDR(142.250.217.110/32) using 🚀 节点选择[🇯🇵 SVIP 日本 3]

恢复正常,应该不需要进一步关注

E-R-Butch commented 1 month ago

又复发了,无法解决

E-R-Butch commented 1 month ago

网关IP 192.168.50.1 笔记本电脑IP 192.168.50.103 IPV4 DNS 192.168.50.1 Chrome(关闭安全DNS) Openclash配置 -防火墙转发 -Meta内核 -FakeIP混合模式 -已启用流量(域名)探测 -探测(嗅探)纯 IP 连接

E-R-Butch commented 1 month ago

部分地址还是会被解析成IP [2024-10-18 12:39:12][INFO] [TCP] 192.168.50.103:63241 --> gemini.google.com:443 match IPCIDR(142.251.33.110/32) using 🚀 节点选择[🇯🇵 SVIP 日本 3]

可见match的规则是之前手写的

vernesong commented 1 month ago

你写这么多ip规则他肯定要先解析啊

E-R-Butch commented 1 month ago

你写这么多ip规则他肯定要先解析啊

解析不出来域名不手动分流怎么办。

[2024-10-20 23:45:19][WARNING] [TCP] dial 🐟 漏网之鱼 (match Match/) 192.168.50.180:54209 --> 142.251.211.228:443 error: dial tcp 142.251.211.228:443: i/o timeout

以下是手动分流之后的LOG

[2024-10-20 23:45:38][INFO] [TCP] 192.168.50.180:54307 --> 142.250.69.202:443 match IPCIDR(142.250.69.202/32) using 🚀 节点选择[🇯🇵 日本A 隧道 1.2x]

只命中了IP规则我实在没办法,否则很多网站又连不上

fejeIaqbhbv commented 1 month ago

没太看懂,你这是不想域名解析成ip后按ip匹配?https://wiki.metacubex.one/config/rules/#no-resolve

vernesong commented 1 month ago

你要搞清楚,域名解析的ip地址不会凭空冒出来,除了clash到底哪里还有DNS服务,是不是开了v6,最简单的方法就是拿电脑nslookup看是不是fakeip

utopeadia commented 1 month ago

1、检查是不是开了其他代理服务 2、检查是不是开了绕过大陆 3、使用meta内核进行域名嗅探

GoFightNow commented 1 month ago

你要搞清楚,域名解析的ip地址不会凭空冒出来,除了clash到底哪里还有DNS服务,是不是开了v6,最简单的方法就是拿电脑nslookup看是不是fakeip

如果是使用浏览器的话,请关闭浏览器的安全DNS

E-R-Butch commented 3 weeks ago

你要搞清楚,域名解析的ip地址不会凭空冒出来,除了clash到底哪里还有DNS服务,是不是开了v6,最简单的方法就是拿电脑nslookup看是不是fakeip

如果是使用浏览器的话,请关闭浏览器的安全DNS

你和楼上提出的4个可能都不存在