ZaLinux.ru

Как настроить работы прокси Squid с множеством пользователей

К примеру, задача организовать работу Squid с несколькими пользователями, каждый из которых в качестве настроек прокси получил IP адрес (одинаковый у всех) и номер порта (индивидуален у каждого пользователя). Также у пользователей индивидуальны логин и пароль. Сервер имеет несколько внешних IP (в данном случае IPv6) адресов, необходимо сделать так, чтобы каждый из пользователей выходил по индивидуальному IP адресу.

Допустим на входе имеем 127.0.0.1:1000:test1:pass1, а на выходе 2a02:f680:1:1100::3d60.

И на входе 127.0.0.1:1001:test2:pass2 и на выходе 2a02:f680:1:1100::3d61.

Решение:

Начинаем с заполнения учётных данных пользователей (раздел «Настройка подключения к прокси-серверу Squid по логину и паролю»):

sudo htpasswd -c /etc/squid/passwd test1
sudo htpasswd /etc/squid/passwd test2

В последующем конфигурационном файле вам нужно заменить:

  • имена пользователей на выбранные вами имена
  • прописать желаемые порты
  • прописать желаемые IPv6 или IPv4 адреса как для прослушивания, так и в качестве исходящих адресов
  • продублировать аналогичные записи для каждого пользователя (порта, IP адреса)

Содержимое моего файла /etc/squid/squid.conf:

# Настройки аутентификации
auth_param basic program /usr/lib64/squid/basic_ncsa_auth /etc/squid/passwd
auth_param basic children 5
auth_param basic credentialsttl 2 hours
auth_param basic casesensitive on
auth_param basic realm Squid proxy for HackWare.ru
 
# Порты для прослушивания
http_port 185.117.153.79:1000
http_port 185.117.153.79:1001
 
# Для каждого порта создаём acl с типом localport
acl portA localport 1000
acl portB localport 1001
 
# Связываем порты и IP адреса
tcp_outgoing_address 2a02:f680:1:1100::3d60 portA
tcp_outgoing_address 2a02:f680:1:1100::3d61 portB

# Для каждого пользователя создаём acl с типом proxy_auth
acl test1_user proxy_auth test1
acl test2_user proxy_auth test2

# Разрешаем доступ двух связок acl:
# пользователь test1 и порт 1000
# пользователь test2 и порт 1001
http_access allow test1_user portA
http_access allow test2_user portB

Смотрите также:

Рекомендуемые статьи:

Оставить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *