如何制作基于内网dns的透明代理服务器

如何制作基于内网dns的透明代理服务器

我想实现一个服务器来响应http/https发送给它的任何请求。

它很像使用 CONNECT 方法的正向代理。我不希望客户端明确设置代理。客户端的 DNS 是自定义的,dnsmasq它将把某个域解析到代理服务器。

我该如何使用 iptables 将数据包转发到像 squid 这样的普通转发代理来实现这一点。或者我应该使用一些技巧,比如编写插件netfilter/iptables,修改 squid 的代码,使其在连接模式下工作,而无需使用连接方法。

简而言之,我想实现一个透明的http/https代理,它可以响应http/https发送给它的任何正常请求。

答案1

最后,我解决了这个问题。我可以通过一个命令创建一个基于 DNS 的透明代理proxy sps -p :80,:443 -q 8.8.8.8:53 --log proxy.log --daemon,它成功了。查看更多详细信息https://snail007.github.io/goproxy/posts/windows-global-proxy-using-dns/https://github.com/snail007/goproxy。这真是一个奇妙的项目。

相关内容