debian 通过 squid 路由所有 http 流量

debian 通过 squid 路由所有 http 流量

我有一个非常简单的问题。我只需要知道如何在 Debian 中指定 http 代理(带有登录凭据)。Squid 服务器是一台单独的机器,自从实施代理以来,我们的 Web 服务和开发服务器上的备份就无法正常工作。所以基本上我只需要在 Debian 中指定一个 http 代理...

答案1

您可能希望通过 .bashrc 脚本创建一个环境变量“http_proxy”,并为其分配如下值:

export http_proxy=http://login:[email protected]:3128

也可以使用 Web 浏览器进行手动设置,但对于 apt-get,请编辑 /etc/apt/apt.conf 并添加:

use Acquire::http::Proxy "http://login:[email protected]:3128";

编辑:您可能希望查看以下文章来设置 iptables 将流量重定向到您的代理: http://www.tldp.org/HOWTO/TransparentProxy-6.html

答案2

透明 http 流量路由

# Your debian machine (gateway)
LAN_IP="192.168.0.1"

# Your network
LAN_IP_RANGE="192.168.0.0/24"                                                               

# Your squid machine
PROXY_IP="192.168.0.254"                                                                   
PROXY_PORT="3128"

iptables -t mangle -A PREROUTING -s $LAN_IP_RANGE ! -d $LAN_IP_RANGE -p TCP --destination-port 80 -j MARK --set-mark 11                                     
iptables -t nat -A PREROUTING -m mark --mark 11 -p TCP -j DNAT --to-destination ${PROXY_IP}:${PROXY_PORT}                                                          
iptables -t nat -A POSTROUTING -m mark --mark 11 -p TCP -j SNAT --to-source $LAN_IP 

答案3

透明代理无法通过登录凭据完成。想想看;如果用户不知道发生了什么,那么您就不能指望他们进行用户名/密码交换!

答案4

你好,这个也许对你有帮助。试试这个。

在 /etc/squid.conf 中添加此内容

auth_param basic 程序 /usr/lib/squid/getpwnam_auth /etc/passwd auth_param basic children 5 auth_param basic realm Squid 代理缓存服务器 auth_param basic creddentialsttl 1 小时

我还被建议输入acl:

acl 密码 proxy_auth 必需 http_access 允许密码

有一个网站指出你需要输入以下内容:

身份验证程序 /usr/lib/squid/getpwnam_auth

相关内容