heiher/hev-socks5-tproxy

DNS解析

Closed this issue · 7 comments

hev-socks5-tproxy_DNS
您好作者,请问DNS配置节 port , address,upstream,如何填写。是否需要本地安装dnsmasq类似DNS解析转发器使用。
希望您百忙之中抽空解答一下我的问题,谢谢。

heiher commented

dns配置是可选的。

如果需要将内网主机的dns请求透明代理到本地的dns服务器上就保留配置,port/address可保持默认值,upstream改为本地dns服务器侦听地址。

如果不需要代理dns,直接删除即可。

您好,我已经解决问题了。
https://github.com/zfl9/dns2tcp
使用dns2tcp工具,这个工具会监听一个本地udp端口接受本地udp查询包,转发到远程53/tcp端口进行查询。转换成tcp/dns查询以后,通过socks5发送,完美避免dns抢答,dns污染。如果能这个功能集成在您开发的这个软件里,那就太棒
dns2tcp
hev-socks5-tproxy_DNS
iptables-mangle
了。部分配置截图放在下方,帮助后来的盆友们解决问题。同时感谢您为开源软件和开源社区做出的贡献,谢谢。

追加一下这个方案会导致dns查询慢,建议在本地搭建dns缓存。
dig

heiher commented

hev-socks5-tproxy的udp代理本身就可以使udp dns通过socks5在服务器端执行解析,不需要专门转tcp。也是因为全部服务器端解析慢,或解析出非最优ip,才引入了dns配置项,在所有udp流量中先把dns流量选出来透明代理到本地dns服务器进行策略化和缓存,本地dns服务器里配置国内、国外上游dns,国外的udp流量再经过hev-socks5-tproxy的udp代理。

是的,这个理论上是可行的。但是我的Socks5服务端不是标准实现,所以使用这种方式代替DNS 转发https://github.com/ShadowsocksR-Live/shadowsocksr-native/issues/242。再次感谢您帮助我解决问题,谢谢。

hdid commented

dns配置是可选的。

如果不需要代理dns,直接删除即可。

just after deleting "dns" part in config file; this appears:
[2023-04-24 13:26:45] [E] socks5 tproxy udp addr
is it normal? @heiher

heiher commented

dns配置是可选的。
如果不需要代理dns,直接删除即可。

just after deleting "dns" part in config file; this appears: [2023-04-24 13:26:45] [E] socks5 tproxy udp addr is it normal? @heiher

yeah.