我想在我的代理服务器上实现基于 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 的身份验证。