zw963 / asuswrt-merlin-transparent-proxy

transparent proxy base on ss, v2ray, xray, ipset, iptables, chinadns on asuswrt merlin or side router.
MIT License
380 stars 80 forks source link

ss+chinadns中的dns的UDP/TCP查询协议 #52

Closed gitx6 closed 6 years ago

gitx6 commented 6 years ago

在安装脚本中ss-tunnel还是使用的UDP协议进行的dns查询 ‘# 修改 chinadns 的端口为 5356, 并将 ss-tunnel (端口 1082) 作为 dnsmasq 的上游 DNS 服务器,’ ‘# 用来转发 DNS 请求到 ss-server.’

对于UDP方式的查询在网络中不稳定,或者服务器端UDP支持有问题的,可以用dns-forwarder替换ss-tunnel,转成TCP协议后,走shadowsocks代理后交给国外DNS处理

https://github.com/aa65535/hev-dns-forwarder

gitx6 commented 6 years ago

或者去掉S22ss-tunnel里面的‘-u'参数? 改:ARGS="-c /opt/etc/shadowsocks.json -b 127.0.0.1 -l 1082 -L 8.8.4.4:53 -u" 为:ARGS="-c /opt/etc/shadowsocks.json -b 127.0.0.1 -l 1082 -L 8.8.4.4:53"

zw963 commented 6 years ago

或者去掉S22ss-tunnel里面的‘-u'参数? 改:ARGS="-c /opt/etc/shadowsocks.json -b 127.0.0.1 -l 1082 -L 8.8.4.4:53 -u" 为:ARGS="-c /opt/etc/shadowsocks.json -b 127.0.0.1 -l 1082 -L 8.8.4.4:53"

好久不用, 不记得了. 新版的 ss 其实就是用 udprelay 取代了 ss-tunnel, 在不支持 udprelay 的情况下可以用这个, 支持, 我感觉就不用了吧.

gitx6 commented 6 years ago

TCP DNS Forwarder这里有个说明。

https://blog.bluerain.io/p/SS-Redir-For-Router.html

应该是适合没有UDP服务,配合chinadns防止dns污染的解决方案。

zw963 commented 6 years ago

你可以拷贝到路由器试试,可能要自己编译才能用,DNS 走TCP 也有个问题,dnsmasq不会缓存 TCP 的结果,国外网站每次都要查,我以前 dnscrypt 试过走 TCP,后来换回来了