MetaCubeX / mihomo

A simple Python Pydantic model for Honkai: Star Rail parsed data from the Mihomo API.
https://wiki.metacubex.one
MIT License
15.43k stars 2.56k forks source link

[Bug] fakeip range被匹配到GEOIP,private中 #1000

Open LordHumphrey opened 8 months ago

LordHumphrey commented 8 months ago

Verify steps

Mihomo version

Mihomo Meta v1.18.0 windows amd64 with go1.20.12 Tue Jan 2 07:30:46 UTC 2024

What OS are you seeing the problem on?

Windows

Mihomo config

rules:
  ## ---- Rule Set Direct---- ##
  #  https://github.com/Loyalsoldier/clash-rules
  - IP-CIDR,172.16.0.0/12,N**
  - IP-CIDR,10.0.0.0/8,N**
  - GEOSITE,private,DIRECT
  - GEOIP,private,DIRECT,no-resolve
  - RULE-SET,applications,DIRECT
  - RULE-SET,MyApplications,DIRECT

Mihomo log


time="2024-01-20T22:01:28.445361+08:00" level=debug msg="[DNS] resolve tophub.today from udp://1.2.4.8:53"
time="2024-01-20T22:01:28.4606417+08:00" level=debug msg="[DNS] resolve cdn.staticfile.org from udp://1.2.4.8:53"
time="2024-01-20T22:01:28.5150462+08:00" level=debug msg="[DNS] h-k03.wamn.cc --> [] AAAA from https://dns.cloudflare.com:443/dns-query"
time="2024-01-20T22:01:28.445361+08:00" level=debug msg="[DNS] resolve tophub.today from udp://119.28.28.28:53"
time="2024-01-20T22:01:28.5107698+08:00" level=debug msg="[DNS] resolve cdn.staticfile.org from system(udp://[fdfe:dcba:9876::2]:53,udp://198.18.0.2:53,udp://127.0.0.1:53,udp://211.138.180.2:53,udp://223.6.6.6:53,udp://192.168.1.1:53)"
time="2024-01-20T22:01:28.445361+08:00" level=debug msg="[DNS] resolve tophub.today from system(udp://[fdfe:dcba:9876::2]:53,udp://198.18.0.2:53,udp://127.0.0.1:53,udp://211.138.180.2:53,udp://223.6.6.6:53,udp://192.168.1.1:53)"
time="2024-01-20T22:01:28.5233789+08:00" level=debug msg="[DNS] resolve tophub.today from udp://192.168.1.1:53"
time="2024-01-20T22:01:28.5233789+08:00" level=debug msg="[DNS] resolve cdn.staticfile.org from udp://192.168.1.1:53"
time="2024-01-20T22:01:28.5107698+08:00" level=debug msg="[Rule] use default rules"
time="2024-01-20T22:01:28.5253731+08:00" level=debug msg="[DNS] resolve file.ipadown.com from udp://1.2.4.8:53"
time="2024-01-20T22:01:28.445361+08:00" level=debug msg="[DNS] resolve tophub.today from udp://101.7.8.9:53"
time="2024-01-20T22:01:28.5233789+08:00" level=debug msg="[DNS] resolve cdn.staticfile.org from udp://198.18.0.2:53"
time="2024-01-20T22:01:28.5107698+08:00" level=debug msg="[DNS] resolve cdn.staticfile.org from udp://117.50.11.11:53"
time="2024-01-20T22:01:28.5107698+08:00" level=debug msg="[DNS] resolve cdn.staticfile.org from udp://1.2.4.8:53"
time="2024-01-20T22:01:28.5107698+08:00" level=debug msg="[DNS] resolve cdn.staticfile.org from udp://119.28.28.28:53"
time="2024-01-20T22:01:28.5107698+08:00" level=debug msg="[DNS] resolve cdn.staticfile.org from udp://117.50.11.11:53"
time="2024-01-20T22:01:28.5107698+08:00" level=debug msg="[DNS] resolve cdn.staticfile.org from udp://223.6.6.6:53"
time="2024-01-20T22:01:28.5107698+08:00" level=debug msg="[DNS] resolve cdn.staticfile.org from udp://223.6.6.6:53"
time="2024-01-20T22:01:28.445361+08:00" level=debug msg="[DNS] resolve tophub.today from udp://223.6.6.6:53"
time="2024-01-20T22:01:28.445361+08:00" level=debug msg="[DNS] resolve tophub.today from udp://1.2.4.8:53"
time="2024-01-20T22:01:28.445361+08:00" level=debug msg="[DNS] resolve tophub.today from udp://119.28.28.28:53"
time="2024-01-20T22:01:28.445361+08:00" level=debug msg="[DNS] resolve tophub.today from udp://117.50.11.11:53"
time="2024-01-20T22:01:28.5107698+08:00" level=debug msg="[DNS] resolve cdn.staticfile.org from udp://101.7.8.9:53"
time="2024-01-20T22:01:28.5107698+08:00" level=debug msg="[DNS] resolve cdn.staticfile.org from udp://119.28.28.28:53"
time="2024-01-20T22:01:28.5107698+08:00" level=debug msg="[DNS] resolve cdn.staticfile.org from system(udp://211.138.180.2:53,udp://223.6.6.6:53,udp://192.168.1.1:53,udp://[fdfe:dcba:9876::2]:53,udp://198.18.0.2:53,udp://127.0.0.1:53)"
time="2024-01-20T22:01:28.445361+08:00" level=debug msg="[DNS] resolve tophub.today from udp://101.7.8.9:53"
time="2024-01-20T22:01:28.445361+08:00" level=debug msg="[DNS] resolve tophub.today from system(udp://211.138.180.2:53,udp://223.6.6.6:53,udp://192.168.1.1:53,udp://[fdfe:dcba:9876::2]:53,udp://198.18.0.2:53,udp://127.0.0.1:53)"
time="2024-01-20T22:01:28.445361+08:00" level=debug msg="[DNS] resolve tophub.today from udp://223.6.6.6:53"
time="2024-01-20T22:01:28.445361+08:00" level=debug msg="[DNS] resolve tophub.today from udp://117.50.11.11:53"
time="2024-01-20T22:01:28.5107698+08:00" level=debug msg="[DNS] resolve cdn.staticfile.org from udp://101.7.8.9:53"
time="2024-01-20T22:01:28.5233789+08:00" level=debug msg="[DNS] resolve tophub.today from udp://223.6.6.6:53"
time="2024-01-20T22:01:28.6488238+08:00" level=debug msg="[DNS] resolve tophub.today from udp://198.18.0.2:53"
time="2024-01-20T22:01:28.5263706+08:00" level=debug msg="[DNS] resolve file.ipadown.com from system(udp://211.138.180.2:53,udp://223.6.6.6:53,udp://192.168.1.1:53,udp://[fdfe:dcba:9876::2]:53,udp://198.18.0.2:53,udp://127.0.0.1:53)"
time="2024-01-20T22:01:28.6488238+08:00" level=debug msg="[DNS] resolve tophub.today from udp://211.138.180.2:53"
time="2024-01-20T22:01:28.5233789+08:00" level=debug msg="[DNS] resolve cdn.staticfile.org from udp://[fdfe:dcba:9876::2]:53"
time="2024-01-20T22:01:28.5233789+08:00" level=debug msg="[DNS] resolve cdn.staticfile.org from udp://127.0.0.1:53"
time="2024-01-20T22:01:28.5233789+08:00" level=debug msg="[DNS] resolve cdn.staticfile.org from udp://211.138.180.2:53"
time="2024-01-20T22:01:28.5233789+08:00" level=debug msg="[DNS] resolve cdn.staticfile.org from udp://223.6.6.6:53"
time="2024-01-20T22:01:28.5243774+08:00" level=debug msg="[DNS] resolve tophub.today from udp://211.138.180.2:53"
time="2024-01-20T22:01:28.5243774+08:00" level=debug msg="[DNS] resolve tophub.today from udp://[fdfe:dcba:9876::2]:53"
time="2024-01-20T22:01:28.5243774+08:00" level=debug msg="[DNS] resolve tophub.today from udp://127.0.0.1:53"
time="2024-01-20T22:01:28.5243774+08:00" level=debug msg="[DNS] resolve tophub.today from udp://198.18.0.2:53"
time="2024-01-20T22:01:28.5263706+08:00" level=debug msg="[DNS] resolve file.ipadown.com from udp://119.28.28.28:53"
time="2024-01-20T22:01:28.5263706+08:00" level=debug msg="[DNS] resolve file.ipadown.com from udp://223.6.6.6:53"
time="2024-01-20T22:01:28.5263706+08:00" level=debug msg="[DNS] resolve file.ipadown.com from udp://101.7.8.9:53"
time="2024-01-20T22:01:28.5263706+08:00" level=debug msg="[DNS] resolve file.ipadown.com from udp://117.50.11.11:53"
time="2024-01-20T22:01:28.5263706+08:00" level=debug msg="[DNS] resolve file.ipadown.com from udp://119.28.28.28:53"
time="2024-01-20T22:01:28.5263706+08:00" level=debug msg="[DNS] resolve file.ipadown.com from udp://117.50.11.11:53"
time="2024-01-20T22:01:28.5473872+08:00" level=debug msg="[DNS] tophub.today --> [143.198.140.84] A from udp://192.168.1.1:53"
time="2024-01-20T22:01:28.5473872+08:00" level=debug msg="[DNS] cdn.staticfile.org --> [211.141.172.46 211.141.172.47 112.28.197.92 211.141.172.49 211.141.172.48 112.28.197.91 112.28.197.93 112.28.197.110] A from udp://192.168.1.1:53"
time="2024-01-20T22:01:28.5673894+08:00" level=debug msg="[DNS] tophub.today --> [] AAAA from udp://119.28.28.28:53"

Warn 日志

time="2024-01-20T22:01:51.6235149+08:00" level=warning msg="[TCP] dial DIRECT (match GeoIP/private) 198.18.0.1:61767 --> freeapp.macapp8.com:443 error: dial tcp 198.18.0.36:443: i/o timeout"
time="2024-01-20T22:01:51.629378+08:00" level=warning msg="[TCP] dial DIRECT (match GeoIP/private) 198.18.0.1:61768 --> freeapp.macapp8.com:443 error: dial tcp 198.18.0.36:443: i/o timeout"
time="2024-01-20T22:01:51.6289678+08:00" level=warning msg="[TCP] dial DIRECT (match GeoIP/private) 198.18.0.1:61769 --> freeapp.macapp8.com:443 error: dial tcp 198.18.0.36:443: i/o timeout"
time="2024-01-20T22:01:51.6289678+08:00" level=warning msg="[TCP] dial DIRECT (match GeoIP/private) 198.18.0.1:61770 --> freeapp.macapp8.com:443 error: dial tcp 198.18.0.36:443: i/o timeout"
time="2024-01-20T22:01:51.629378+08:00" level=warning msg="[TCP] dial DIRECT (match GeoIP/private) 198.18.0.1:61766 --> freeapp.macapp8.com:443 error: dial tcp 198.18.0.36:443: i/o timeout"
time="2024-01-20T22:01:56.6307414+08:00" level=warning msg="[TCP] dial DIRECT (match GeoIP/private) 198.18.0.1:61785 --> freeapp.macapp8.com:443 error: dial tcp 198.18.0.36:443: i/o timeout"
time="2024-01-20T22:02:12.2654448+08:00" level=warning msg="[TCP] dial DIRECT (match GeoIP/private) 198.18.0.1:61830 --> cn.bing.com:443 error: dial tcp 198.18.0.6:443: i/o timeout"
time="2024-01-20T22:02:17.2820037+08:00" level=warning msg="[TCP] dial DIRECT (match GeoIP/private) 198.18.0.1:61832 --> cn.bing.com:443 error: dial tcp 198.18.0.6:443: i/o timeout"
time="2024-01-20T22:03:12.1655074+08:00" level=warning msg="[TCP] dial DIRECT (match GeoIP/private) 198.18.0.1:61834 --> cn.bing.com:443 error: dial tcp 198.18.0.6:443: i/o timeout"
time="2024-01-20T22:03:17.1827944+08:00" level=warning msg="[TCP] dial DIRECT (match GeoIP/private) 198.18.0.1:61836 --> cn.bing.com:443 error: dial tcp 198.18.0.6:443: i/o timeout"
time="2024-01-20T22:06:21.8390192+08:00" level=warning msg="[TCP] dial DIRECT (match GeoIP/private) mihomo --> lovefsr.top:443 error: dial tcp 198.18.0.49:443: i/o timeout"
time="2024-01-20T22:06:21.8396591+08:00" level=warning msg="[TCP] dial DIRECT (match GeoIP/private) mihomo --> jmssub.net:443 error: dial tcp 198.18.0.78:443: i/o timeout"

DNS Config

dns:
  enable: true
  cache-algorithm: arc
  listen: 0.0.0.0:53
  prefer-h3: true
  use-hosts: true
  ipv6: false
  ipv6-timeout: 150
  enhanced-mode: fake-ip
  fake-ip-range: 198.18.0.1/16
  fake-ip-filter:
    - "*.example"
    - "*.home.arpa"
    - "*.invalid"
    - "+.lan"
    - "+.local"
    - "*.localdomain"
    - "*.localhost"
    - "*.test"
    - "WORKGROUP"
    #  Windows 10 Connnect Detection
    - "+.microsoft.com"
    - "+.msftconnecttest.com"
    - "+.msftncsi.com"
    # Linksys Wireless Router
    - "*.linksys.com"
    - "*.linksyssmartwifi.com"
    #  NTP Service
    - "ntp.*.com"
    - "time-ios.apple.com"
    - "time-macos.apple.com"
    - "time.*.com"
    - "time.*.gov"
    - "+.pool.ntp.org"
    - "*.cloud.tencent.com"
    - "*.pool.ntp.org"
    - "pool.ntp.org"
    #  国内网站
    - "*.163.com"
    - "*.126.net"
    - "*.taihe.com"
    - "*.kugou.com"
    - "+.joox.com"
    - "+.qq.com"
    - "+.cn"
    - "+.cnblogs.com"
    #  Apple Software Update Service
    - "mesu.apple.com"
    - "swscan.apple.com"
    #  Game Service
    - "*.battle.net"
    # Microsoft Xbox
    - "speedtest.cros.wr.pvp.net"
    - "*.*.xboxlive.com"
    - "xbox.*.*.microsoft.com"
    - "xbox.*.microsoft.com"
    - "xnotify.xboxlive.com"
    # Nintendo Switch
    - "*.*.*.srv.nintendo.net"
    - "+.srv.nintendo.net"
    # Google
    - "lens.l.google.com"
    - "stun.l.google.com"
    # Sony PlayStation
    - "*.*.stun.playstation.net"
    # STUN Server
    - "+.stun.*.*.*.*"
    - "+.stun.*.*.*"
    - "+.stun.*.*"
    - "stun.*.*.*"
    - "stun.*.*"
    # QQ Quick Login
    - "localhost.ptlogin2.qq.com"
    - "localhost.sec.qq.com"
    # BiliBili P2P
    - "*.mcdn.bilivideo.cn"
    # 网易云音乐
    - "music.163.com"
    - "*.music.163.com"
    - "*.126.net"
  default-nameserver:
    - "system"
    - 223.6.6.6
  nameserver:
    - "system"
    - 223.6.6.6
    - 119.28.28.28
    - "https://cn-a.iqiqz.com/cdn"
    - "https://doh.apad.pro/dns-query"
    - "https://dns.cloudflare.com/dns-query#DNS&h3=true"
  proxy-server-nameserver:
    - 223.6.6.6
    - "https://cn-a.iqiqz.com/dns-query"
    - "https://doh.apad.pro/dns-query"
    - "https://dns.cloudflare.com/dns-query#DNS&h3=true"
  nameserver-policy:
    "geosite:category-ads-all": rcode://success
    "geosite:private": ["system",211.138.180.2]
    "geosite:cn":
      [
        "system",
        101.7.8.9,
        223.6.6.6,
        119.28.28.28,
        117.50.11.11,
        1.2.4.8,
      ]
    "geosite:bing,geolocation-!cn":
      [
        "https://dns.adguard-dns.com/dns-query#DNS&h3=true",
        "https://dns.google/dns-query#DNS&h3=true",
        "https://dns.cloudflare.com/dns-query#DNS&h3=true"
      ]

Description

好像是fake ip的地址范围被匹配到了geoip private当中,所以所有请求都timeout了

xishang0128 commented 8 months ago

@LordHumphrey 贴dns配置以及debug log

LordHumphrey commented 8 months ago

@LordHumphrey 贴dns配置以及debug log

看了下日志,好像是DNS配了System以后,DNS请求会找fake ip的地址,这是预期行为吗?

system(udp://223.6.6.6:53,udp://192.168.1.1:53,udp://[fdfe:dcba:9876::2]:53,udp://198.18.0.2:53,udp://127.0.0.1:53)"
xishang0128 commented 8 months ago

@LordHumphrey 你设置的dns服务器向clash的dns发起了请求,自然得到了fakeip,正常行为,自行修改dns服务器

LordHumphrey commented 8 months ago

@LordHumphrey 你设置的dns服务器向clash的dns发起了请求,自然得到了fakeip,正常行为,自行修改dns服务器

  1. 谢谢回复
  2. 我设置的DNS服务器里面只有system像您说的回向clash的DNS发起请求,请问我应该去掉DNS配置中的system吗?
  3. 我看了下源码里面System_windows部分,貌似是拿到所有网卡的DNS服务器,但是没有去掉Tun网卡的,请问内核会先获得System DNS服务器,还是会先设置Tun网卡呢?
  4. 再次感谢