Я хочу реализовать аутентификацию на основе 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-адрес пользователя 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.