Назад | Перейти на главную страницу

Подстановочные знаки для имен ACL Squid (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-адрес пользователя 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.