Squid将每个传出IP绑定到用户?

时间:2019-04-07 03:56:07

标签: authentication proxy acl squid

我正在尝试使用鱿鱼并将两个传出ip分别绑定到2个用户。

理想的结果是,我可以访问以下内容:

xxx.xxx.xxx.14:3128:user1:user1password 
xxx.xxx.xxx.18:3128:user2:user2password

但不是:

xxx.xxx.xxx.14:3128:user2:user2password 
xxx.xxx.xxx.18:3128:user1:user1password

我发现了一个类似的问题,并使用了一个类似的squid.conf:

squid bind outgoing ip

这是我的配置:

acl http proto http
acl port_80 port 80
acl port_443 port 443
acl CONNECT method CONNECT


auth_param basic program /usr/lib64/squid/basic_ncsa_auth /etc/squid/passwords
acl ncsa_users proxy_auth REQUIRED
external_acl_type userIp %SRC %LOGIN /usr/lib64/squid/ext_file_userip_acl -f /etc/squid/userIp.conf

acl userIp external userIp

http_access deny !ncsa_users
http_access allow userIp
http_access deny all

http_port 3128
acl ip1 myip xxx.xxx.xxx.14
tcp_outgoing_address xxx.xxx.xxx.14 ip1

acl ip2 myip xxx.xxx.xxx.18
tcp_outgoing_address xxx.xxx.xxx.18 ip2

在我的userIp.conf中,我有:

xxx.xxx.xxx.14 user1
xxx.xxx.xxx.18 user2

在我的/ etc / squid / password中,我有htpasswd创建的以下内容:

user1:encrypted password
user2:encrypted password

问题是: 如果删除“ http_access拒绝!ncsa_users” ,则user1可以访问xxx.xxx.xxx.14和xxx.xxx.xxx.18。与user2相同。

但是如果我保持“ http_access拒绝!ncsa_users” ,那么所有连接都会失败。

我觉得“ http_access允许userIp” 无法正常工作。

我无法在网络上搜索类似的问题...希望有人能帮助我

1 个答案:

答案 0 :(得分:0)

好的,我现在想通了。

%SRC%LOGIN对意味着指定用户自己的pc地址的来源,这实际上不是我想要的。

我想要的实际上是%MYADDR%LOGIN对,它指定允许每个用户连接到的ips。

是的,就是这个问题