Squid ACL 名称的通配符(aclname)

Squid ACL 名称的通配符(aclname)

我想在我的代理服务器上实现基于 IP 的身份验证。假设我的服务有一个名为 的用户user1。这是我的 ACL 当前的样子:

acl user11 proxy_auth [-i] user11
acl user12 proxy_auth [-i] user12
acl user13 proxy_auth [-i] user13

并分配相应的传出 IP 地址:

tcp_outgoing_address 175.25.11.25 user11
tcp_outgoing_address 175.25.11.26 user12
tcp_outgoing_address 175.25.11.27 user13

这样,user1可以在身份验证时通过在用户名后附加数字来使用多个出站 IP 地址。

我想user1访问许多传出 IP 地址,但使用基于 IP 的身份验证。据我了解,我将按如下方式进行基于 IP 的身份验证:

acl user11 10.0.0.1
acl user12 10.0.0.1
acl user13 10.0.0.1

但这样做不行,因为用户无法使用/指定不同的传出 IP 地址。这意味着我必须为每个传出 IP 地址使用不同的端口。

假设我的服务器的主 IP 是175.25.11.1(用户将连接到的 IP),并且我希望他们连接的每个端口都有不同的出站 IP 地址。我们还假设用户的 IP 是,10.0.0.1并且我们想要使用基于 IP 的身份验证。我的理解是,我会这样做:

http_port 175.25.11.1:3128 name=3128
http_port 175.25.11.1:3129 name=3129
http_port 175.25.11.1:3130 name=3130

acl user13128 myportname 3128 src 10.0.0.1 http_access allow user13128 tcp_outgoing_address 175.25.11.25 user13128
acl user13129 myportname 3129 src 10.0.0.1 http_access allow user13129 tcp_outgoing_address 175.25.11.26 user13129
acl user13130 myportname 3130 src 10.0.0.1 http_access allow user13130 tcp_outgoing_address 175.25.11.27 user13130

如果我错了,请纠正我。我的问题是,我是否可以设置基于 IP 的身份验证,以便我可以在我的 中一处更改它squid.conf。这样,如果用户更改了他们的 IP,我就不必重写大量的 ACL 列表。假设此服务器绑定了 10,000 个 IP 地址。我可以使用某种通配符来表示:

acl user1* src 10.0.0.1 http_access allow

请纠正此处可能存在的任何错误。这是我第一次尝试基于 IP 的身份验证。

相关内容