我想在我的代理服务器上实现基于IP的身份validation。 考虑一下我的服务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可以在authentication时通过在用户名后面附加一个数字来使用多个出站IP地址。
我希望user1有权访问许多传出IP地址,但使用基于IP的身份validation。 据我所知,我会做这样的基于IP的authentication:
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是10.0.0.1 ,我们要使用基于IP的身份validation。 我理解的方式,这是我将如何做到这一点:
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的身份validation,以便我可以在我的squid.conf更改一个地方。 这样,如果用户更改IP,我不必重写一个庞大的ACL列表。 考虑到这台服务器有10,000个IP地址绑定到它。 我可以使用某种通配符来表示:
acl user1* src 10.0.0.1 http_access allow
请纠正我在这里可能有的任何错误。 这是我第一次尝试基于IP的身份validation。