软硬结合方案
硬路由
硬件
- 可刷 openwrt 的 256M 内存的路由一个
软件
- Adgurad
- shellcrash
- gfwlist for Adgurad shell
软路由(可有可无)
局域网自建 ALL IN ONE 一台
食用过程
- 执行 gfwlist for Adgurad shell ,生成 gfwlist 的域名指定解析地址为 tcp:/8.8.8.8 ,其它走国内 httpsdns(防运营商劫持)的配置文件
- openwrt 配置 dns 转发到 Adgurad
- shellcrash 配置 8.8.8.8 走代理
- shellcrash 配置 socks 方式 到软路由的各个协议 socks 端口
- shellcrash 其它规则生成,或导入订阅
- 完了
- 补充,shellcrash 也自己做 FW 客户端,只是一般硬路由跑 100M 以上 CPU 易满
优点
- 无痛无感
- 还能简单过滤 AD
- 硬件不够,软件来凑
- 因为强制 gfwlist dns 解析 TCP8.8.8.8 ,shellcrash 可运也可不运行,完全不影响
- 稳定性取决于你的节点
不得解问题
dns 请求优先级
智能多宿主名称解析
windows 在默认情况下会启用 智能多宿主名称解析,会向多个网卡发送 dns 请求
导致 dns 由于污染响应更快,导致解析问题。
禁用智能多宿主名称解析
禁用此功能后,连接 VPN ,发现 dns 几乎不向物理网卡 dns 进行请求,但有 vpn dns 解析不了的会向此 dns 请求(内部域名解析)
但仍然偶尔会出现正常应由 vpn dns 返回的正确解析被污染了
抓包后发现,在某个极短的时刻如果向 vpn dns server 发出了两条同一地址的请求,那么在极短的时刻也会向物理网卡的 dns server 进行一次同地址请求,导致污染 dns 快速响应,导致错误。
!https://imgur.com/a/ihPX67y