比如某域名经过这样的规则(暂不探讨客户端直接对 ip 发起请求情况):
rules:
# 所有的规则都没有命中, 并且前面没有 IP-CIDR
- IP-CIDR,203.205.0.0/16,DIRECT,no-resolve
- GEOIP,CN,DIRECT,no-resolve
- MATCH,PROXY
这样域名不会 dns 解析, 直接走到兜底的代理, 这样国内正常的请求如果没有被前面匹配到, 则会走节点.
如果将 no-resolve
去掉, 域名会 dns 解析成 ip, 如果是国内的正常网站, 则匹配到 GEOIP 会走直连; 如果是被墙的网站, 则会返回一个污染的 ip, 此 ip 不在国内, 会走兜底的代理.
所以理论上, GEOIP
是否添加 no-resolve
与兜底策略中是否走直连和代理有关系? (当然增加一次 dns 解析也不会影响很大的网络延迟)
综上, 有两种搭配的策略:
- GEOIP,CN,DIRECT,no-resolve
- MATCH,DIRECT
这样国内的请求会走直连没问题, 但国外的请求可能称为漏网之鱼导致无法访问. 而且再反过来看, 这样 GEOIP 就失去了意义, 去掉 GEOIP 这条规则是一样的.
- GEOIP,CN,DIRECT
- MATCH,PROXY
这样进行了一次 dns 解析, 国内正常请求不会被误伤, 而国外的都会走代理, 看起来是完美解决?
所以你们都是怎么搭配的呢?
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.