在所有浏览器中强制使用代理

我用squidconfiguration了鱿鱼鱿鱼和在浏览器中使用代理时,它工作正常。 但是我想强制在所有的浏览器中使用代理(可能在iptables中)。 现在可以在用户的​​浏览器设置中禁用。

我的设置是:一个独立的电脑与Ubuntu的运行鱿鱼和鱿鱼和在这个非常相同的设备,我想以某种方式强制使用代理。 鱿鱼conf文件已经设置:

http_port 3128 transparent 

谢谢

你正在寻找的是一个透明的代理。 最后我检查了有两种方法可以用squid来做到这一点:

  1. 利用鱿鱼支持的WCCP 。
  2. 通过Squid盒路由所有Internetstream量,并通过IPTables拦截stream量。 Squid把这个叫做Interceptcaching 。

第一个选项需要路由基础设施的支持。 由于这是思科协议,思科之外的支持并不强大。 这工作,我已经做到了,如果你有基础设施。

第二个选项更可行。 为了这个工作,你需要设置你的路由基础设施,通过Squid框发送所有的Internetstream量。 鱿鱼可以编译拦截支持,并可能通过Apt回购。

在iptables配方之后,透明地将eth1上的所有HTTPstream量(路由器上的我们的内部networking设备)路由到Squid(和vv)。

 -A PREROUTING -i eth1 -p tcp -m tcp --dport 80 -j DNAT --to-destination 10.110.0.1:3128 -A PREROUTING -i eth0 -p tcp -m tcp --dport 80 -j REDIRECT --to-ports 3128 

如果你碰巧使用ufw (和我们一样),你可以添加行到/etc/ufw/after.rules

 *nat :PREROUTING ACCEPT [0:0] -A PREROUTING -i eth1 -p tcp -m tcp --dport 80 -j DNAT --to-destination 10.110.0.1:3128 -A PREROUTING -i eth0 -p tcp -m tcp --dport 80 -j REDIRECT --to-ports 3128 COMMIT 

您可以从这篇文章中find更多示例和详细信息。