@
onion83 没有标准答案,尝试过 dnscrypt / Pcap_DNSProxy / Unbound + TCP 感觉都不稳定,而且莫名奇妙就卡住了,最后发现其实用非标端口 + 在 vps 上做一条 nat 轻松搞定.
dnsmasq 部分
--------------
server=/
twitter.com/$IP#端口server=/
facebook.com/$IP#端口....
ipset=/
twitter.com/gfwlistipset=/
facebook.com/gfwlist....
VPS 部分
--------------
iptables -t nat -A PREROUTING -p udp --dport 端口 -j DNAT --to-destination 8.8.4.4:53
iptables -t nat -A POSTROUTING -j MASQUERADE
优点:
--------------
1、可继续沿用 gfwlist 的成果,定时更新。黑名单可按你指定 IP 进行解析。dnsmasq 可将解析结果灌入到 ipset 中,可以避免写死 IP 地址列表,更灵活一些。
2、盒子、服务器上不需要再维护第二个代理或加密程序,无客户端、无服务器端效率理论最高.
3、dig
twitter.com @$IP -p <端口> 即可调试
缺点:
--------------
1、所有包转发均明文,如果流量一大有可能会 DIP 封杀。(对策:多 IP /多端口?)
2、某些运营商/边缘网关有可能已经做 QOS 或已经开始 DIP,例如:北京联通访问阿里云 hkb 的 udp 非标端口会有 30%的 timeout (主观感受被 drop ),但是南方电信却 100%正常,两者 ping 值均正常。
结论:
--------------
网络、设备环境不同,还得看实际场景和体验。