v2ray / v2ray-core

A platform for building proxies to bypass network restrictions.
https://www.v2ray.com/
MIT License
45.43k stars 8.95k forks source link

关于dns 分流优先级的问题? #1612

Closed fcying closed 5 years ago

fcying commented 5 years ago

1) 你正在使用哪个版本的 V2Ray?(如果服务器和客户端使用了不同版本,请注明) 4.18.0

2) 你的使用场景是什么?比如使用 Chrome 通过 Socks/VMess 代理观看 YouTube 视频。 Chrome 通过 Socks5 访问 github

3) 你看到的不正常的现象是什么?(请描述具体现象,比如访问超时,TLS 证书错误等) dns解析没按照顺序来

4) 你期待看到的正确表现是怎样的? 解析能按优先级走.

5) 请附上你的配置(提交 Issue 前请隐藏服务器端IP地址)。

这个配置文件里面, 只要我把"geosite:geolocation-!cn", 打开. github 就用1.0.0.1解析dns了. 而不是走localhost了, localhost不是应该在更前面的位置吗?

  "dns": {
    "servers": [
      "1.1.1.1",
      {
        "address": "localhost", 
        "port": 53,
        "domains": [
          "regexp:github.*\\.com$",
          "geosite:cn"
        ]
      },
      {
        "address": "1.0.0.1",
        "port": 53,
        "domains": [
          "geosite:geolocation-!cn",
          "geosite:google"
        ]
      }
    ]
  },
"routing": {
    "domainStrategy": "IPOnDemand",
    "rules":[
      {
        "type": "field",
        "outboundTag": "direct",
        "ip": [
          "geoip:cn",
          "geoip:private"
        ]
      },
      {
        "type": "field",
        "outboundTag": "direct",
        "domain": [
          "regexp:github.*\\.com$",
          "geosite:cn"
        ]
      },
      {
        "type": "field",
        "outboundTag": "ws",
        "domain": [
          "geosite:google"
        ]
      }
    ]
  },

P.S. 路由 domains 可以复用吗? 每次都要在routing和dns里面同步修改2份...虽然可以放到dat文件里去, 不过经常改dat有点麻烦..

kslr commented 5 years ago

你是怎么确认到是由1.0.0.1解析的?会不会是子域名干扰到了?

维护自己的一份https://github.com/v2ray/domain-list-community 就可以了

fcying commented 5 years ago

@kslr log里有, 和github 相关的都是1.0.0.1, 除了geosite:geolocation-!cn了, 没别的地方有包含github内容了, 注掉geosite:geolocation-!cn后 就能看到全是用114(localhost)解析了

[Info] v2ray.com/core/app/dns: querying domain github.com at udp:1.0.0.1:53
[Info] v2ray.com/core/app/dns: querying domain github.githubassets.com at udp:1.0.0.1:53
[Info] v2ray.com/core/app/dns: querying domain live.github.com at udp:1.0.0.1:53
[Info] v2ray.com/core/app/dns: querying domain collector.githubapp.com at udp:1.0.0.1:53
[Info] v2ray.com/core/app/dns: querying domain api.github.com at udp:1.0.0.1:53
[Info] v2ray.com/core/app/dns: querying domain avatars0.githubusercontent.com at udp:1.0.0.1:53

现在就是用的domain-list-community.exe 就是每次改完要生成一下dlc...不过也不是啥大问题了.