
我怎麼能讓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