如何将所有本地流量路由到 Squid?

如何将所有本地流量路由到 Squid?

我有一个可运行的 squid 缓存服务器,可通过 127.0.0.1:3128 访问。我正尝试将所有流量(如果可能,还包括所有虚拟机)路由到 127.0.0.1:3128。

我正在使用 vagrant 和 virtual box,如果我不配置每个 virtualbox 来使用 squid 那就太好了(我正在尝试缓存包以节省时间和带宽)。

谢谢

答案1

经过多次令人沮丧的尝试后,我通过添加以下规则解决了我的问题:

iptables -t nat -A OUTPUT -p tcp -m owner ! --uid-owner proxy --dport 80 -j REDIRECT --to-port 3128

并更新 squid.conf:

http_port 3128http_port 3128 accel vhost allow-direct

答案2

看一眼本文。但是,你不应该转发全部流量到 squid。您应该只将 http 和 ftp 流量转发到 squid。因为默认情况下并非所有流量都可代理。

您还应该使用在 squid 中配置的转发规则中的端口来访问此类转发的流量 - 如上所述这里

无论是否配置了 ssl_bump 功能,您都应该避免将 https 流量转发到 squid。

答案3

要在网络中设置为默认网关的 Linux CentOS 7 上透明地路由和过滤所有 HTTP/HTTPS 流量(所谓的拦截式路由),请参阅此操作方法 -http://docs.diladele.com/tutorials/transparently_filtering_https_centos/index.html

相关内容