Squid Proxy 让用户只能使用一个 ip

Squid Proxy 让用户只能使用一个 ip

我怎样才能让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

相关内容