我有一个运行 Squid 和 Privoxy 的 CentOS 6 机器来创建自定义代理设置。服务器在虚拟eth0
接口上配置了多个公共 IPv4 地址。
我的目标:
我想通过服务器上设置的特定 IPv4 地址发送所有代理流量,但不是默认 IP。
问题:
所有代理流量均通过接口的默认 IP 发送eth0
。我不想使用这个IP。
设置:
我在代理中同时使用 Squid 和 Privoxy。
乌贼
我的鱿鱼安装是在外部 IPv4 地址上配置的http_port x.x.x.x:8080
,客户端使用它来连接到代理。
Squid 用于cache_peer
连接到在同一服务器上运行的本地 Privoxy 服务器。
隐私:
Privoxy 仅设置为本地,并具有和listen-address
(仅本地主机)。 Privoxy 进行进一步的过滤,这是 Squid 无法做到的。[::1]:8118
127.0.0.1:8118
Privoxy不做任何额外的转发,而是过滤和修改头部信息。
我尝试过的:
我尝试tcp_outgoing_address x.x.x.x
在 Squid 中使用,但这会导致“零尺寸回复”在配置中应用时出错。这是因为 Privoxy 参与了该链。如果我从链中删除 Privoxy,它就可以工作。同样,我使用POSTROUTING
iptables 并尝试更改源 IP 时遇到相同的错误。
我需要帮助找到一个可行的解决方案,让我的代理流量通过用户指定的 IPv4 地址路由,并将 Squid 和 Privoxy 连接在一起。我愿意接受为此工作所需的任何设置更改。
谢谢!
答案1
我认为 Privoxy 是主要问题,并决定使用 SquidGuard 代替,通过从链中删除 Privoxy,我可以根据需要使用 tcp_outgoing_address。