-
Notifications
You must be signed in to change notification settings - Fork 452
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
部分Google服务大陆可直连,DLC中能否区别开来? #487
Comments
这个 repo 只是负责收集域名, |
或者单独将Google.cn的IP地址拿出来,用路由识别IP来处理。 "203.208.32.0/19", |
@EpLiar 确实,既然是DOMAIN list,逻辑上来说除非分开成多个域名,否则对全球CDN的情况单独处理有些怪怪的。 不过建立这个DLC的目的,应该也主要就是生成geosite数据吧?否则的话,分门别类地统计各个公司下属的域名,好像意义也不是太大。 如果确实是为了GEOsite的话,那CDN的geo就值得考虑了。(未必在DLC里直接考虑,也许也可以在v2ray中的某一层进行配置。) |
@Cwek 我的配置其实在透明代理上DNS的时候就会利用geosite数据进行分流,所以单独配置routing没办法解决其他机器发来的DNS请求。 而且不太确定V2Ray (4.23.4) 对重复domain的多条规则是怎么处理的,比如下面的客户端配置当中,
|
其实这个项目里 |
我发出的已经是完整的DNS配置了,替换掉客户端的DNS之后,假如客户端配置好了iptables和tproxy透明代理,应该是可以复现问题的。 |
|
是的,仔细想了想,可能最靠谱的还是需要V2Ray对相互冲突规则的优先级提供更完善的支持。从domain着手好像有点尴尬🤦 |
v2fly/domain-list-community@0971cd4 中添加了
虽然 建议把这几行删除, 并且在
让有需要的用户以 |
由于之前 明天开始会处理 Apple、Microsoft、Google 等列表内的类似问题,添加 |
Resolved in v2fly/domain-list-community#118. You can now use these domains in config file with |
上游已修复 DNS 解析的优先级 bug:v2fly/v2ray-core#94 |
Will verify DNS matching when the new version is released |
DNS matching logic is described here: v2fly/v2ray-core#92 And here is the binary release: https://github.com/v2fly/V2FlyBleedingEdgeBinary/releases/tag/unstable-8b4ba03e6fcd20b29702e2ddfe49b9af440b4cb4 |
Tested against the current latest v2fly binary, but the DNS resolving is incredibly slow. DNS config on my tproxy raspi:
Results:
Log:
|
Please place this DNS to the first:
|
Investigating, Edit: Successfully reproduced on raspi, tproxy & proxy requests sent from raspi itself.
This is weird, two requests are made to resolve
Yet one is returned by static host, one falls through priority matching:
|
@wlnirvana Root cause found. I doubt whether your config works in older version... Use error log to trace the resolving of [Info] v2ray.com/core/proxy/dns: TypeA: doh.pub.
[Info] v2ray.com/core/app/dns: /features/dns/IPv4Lookup.LookupIPv4(domain)
[Info] v2ray.com/core/app/dns: server/Server.LookupIPv4(domain)
[Info] v2ray.com/core/app/dns: server/Server.lookupInternal(domain, option)
[Info] v2ray.com/core/app/dns: server/Server.lookupStatic(domain, option, depth)
[Info] v2ray.com/core/app/dns: hosts/StaticHosts.LookupIP(domain, option)
[Info] v2ray.com/core/app/dns: Before filtering: doh.pub[119.29.29.29]
[Info] v2ray.com/core/app/dns: hosts/filterIP(ips, option)
[Info] v2ray.com/core/app/dns: hosts/filterIP: 119.29.29.29 true // ip.Family().IsIPv4()
[Info] v2ray.com/core/app/dns: hosts/filterIP: 119.29.29.29 true // option.IPv4Enable
[Info] v2ray.com/core/app/dns: hosts/filterIP: 119.29.29.29 false // ip.Family().IsIPv6()
[Info] v2ray.com/core/app/dns: hosts/filterIP: 119.29.29.29 false // option.IPv6Enable
[Info] v2ray.com/core/app/dns: After filtering: doh.pub[119.29.29.29]
[Info] v2ray.com/core/proxy/dns: TypeAAAA: doh.pub.
[Info] v2ray.com/core/app/dns: /features/dns/IPv4Lookup.LookupIPv6(domain)
[Info] v2ray.com/core/app/dns: server/Server.LookupIPv6(domain)
[Info] v2ray.com/core/app/dns: server/Server.lookupInternal(domain, option)
[Info] v2ray.com/core/app/dns: server/Server.lookupStatic(domain, option, depth)
[Info] v2ray.com/core/app/dns: hosts/StaticHosts.LookupIP(domain, option)
[Info] v2ray.com/core/app/dns: Before filtering: doh.pub[119.29.29.29]
[Info] v2ray.com/core/app/dns: hosts/filterIP(ips, option)
[Info] v2ray.com/core/app/dns: hosts/filterIP: 119.29.29.29 true // ip.Family().IsIPv4()
[Info] v2ray.com/core/app/dns: hosts/filterIP: 119.29.29.29 false // option.IPv4Enable
[Info] v2ray.com/core/app/dns: hosts/filterIP: 119.29.29.29 false // ip.Family().IsIPv6()
[Info] v2ray.com/core/app/dns: hosts/filterIP: 119.29.29.29 true // option.IPv6Enable
[Info] v2ray.com/core/app/dns: After filtering: doh.pub[] So the workflow is as follows:
Thus the offered log is produced. Since only 1 ip could be provided to static host, I used following entry to attach an ipv6 address to
And this made built-in DNS try to use Some improvements that may be done to static hosts:
|
If I recall correctly, similar configs started to work after v4.23.0 merges the DNS optimization PR, except for the fonts.googleapis.com issue originally reported in this issue. By the way, since domains are being handled with attributes now, would it be better to close this issue and move further discussions to v2ray-core repo, which might be more relevant? |
fonts.googleapis.com是很常用的web fonts,大陆已经解封,用国内的DNS会解析到谷歌北京的服务器,使用代理速度反而会变慢不少。
但是DLC中使用了googleapis.com这一域名:
domain-list-community/data/google
Line 311 in 2e48442
这会使得fonts子域名也走代理,在配置(尤其是DNS)时很不方便。
PS:除fonts外,还有一些其他服务也已经解封,可参考https://github.com/felixonmars/dnsmasq-china-list/blob/master/google.china.conf和https://github.com/felixonmars/dnsmasq-china-list/blob/master/apple.china.conf
The text was updated successfully, but these errors were encountered: