我怎样才能让user1只使用 100.160.238.0:17648
,user2只使用100.160.238.1:48049
,user3只使用100.160.238.2:26394
???我尝试了一些方法,但现在不起作用,我的配置混有错误。因此,如果有人知道如何做到这一点,请帮助我。我尝试了下面的方法,但我的配置中有一些错误。
auth_param basic program /usr/lib64/squid/basic_ncsa_auth /etc/squid/passwd
#external_acl_type ip_user %SRC %LOGIN /usr/lib/squid/ip_user_check -f /etc/squid/ip.conf
#external_acl_type ip_user %SRC %LOGIN /usr/lib64/squid/ext_file_userip_acl -f /etc/squid/ip.conf
如果有人知道解决方案,请分享您的配置或示例。
操作系统 CentOS 7 X64 位。
答案1
acl user1 src 192.168.0.2/32
acl user2 src 192.168.0.3/32
acl user3 src 192.128.0.4/32
acl desPort1 port 17648
acl desPort2 port 48049
acl desPort3 port 26394
acl destIp1 dst 100.160.238.0/32
acl destIp2 dst 100.160.238.1/32
acl destIp3 dst 100.160.238.2/32
http_access allow desPort1 destIp1
http_access allow desPort2 destIp2
http_access allow desPort3 destIp3
http_access deny all
http_port 3128
我相信这会允许;
- user1 通过 proxy:3128 访问目的地 100.160.238.0:17648
- user2 通过 proxy:3128 访问目的地 100.160.238.1:48049
- user3 通过 proxy:3128 访问目的地 100.160.238.2:26394
(acl 始终是“或”逻辑,因此对于多个 acl/“与”逻辑,需要对访问线路施加限制)。
否则设置多个守护进程。
更新:
http_access allow desPort1 destIp1 !desPort2 !destIp2 !desPort3 !destIp3
http_access allow desPort2 destIp2 !desPort1 !destIp1 !desPort3 !destIp3
http_access allow desPort3 destIp3 !desPort1 !destIp1 !desPort2 !destIp2