@
tiscool 几种直连性能 100%的方案,取决于你的网络拓扑:
1 、在主路由本机上弄,使用 DNS 程序(如 mosdns 或者 smartdns )的 ipset 插件功能,把解析成非 CN IP 的域名(或者其他规则或者手动加入的 CIDR )的解析结果加入 ipset ,然后把这个 ipset 策略路由扔去代理程序。这样的话只有被判定需要代理的 IP 的 ipset 走代理,默认就是直连。缺点就是对主路由器的性能有影响,all in one 稳定性打折扣。这应该是目前 openwrt 里面那些插件的常用方案之一。
2 、主路由和网关分开弄,然后利用 OSPF 之类的协议分流,可以实现直连并且无法直连的请求走网关,网关炸了也不影响正常上网还能回退。缺点就是操作配置维护比较复杂,比较依赖 IP 库,并且对 BT 等 P2P 应用有影响,不像方案 1 那样可以灵活用域名清单/IP 来控制。这个搜一下 OSPF 分流应该有很多现成教程。
3 、主路由和网关分开弄,然后网关使用 fakeip ,DNS 程序把需要分流的域名(比如可以判定非 CN 域名或者手动配置的规则)解析成 fakeip ,然后主路由添加一条 fakeip 的静态路由即可,比较灵活稳定,配置也很清晰,直连的时候完全不经过网关,网关炸了也是不影响正常上网,缺点就是纯 IP 直连的应用需要手动额外添加一些静态路由来分流,因为没有解析成 fakeip 的机会。这种应用比较少,比如 telegram 。这个可以搜一下 paopaogateway 参考拓扑教程。