Главная > IT > Прокси сервер

Прокси сервер

Ершов Илья
Настройка прокси сервера на Ubuntu Server 8.04 (SQUID+SARG+AD)
18 ноября 2009

В качестве прокси будет выступать SQUID. Настраивать его будем с авторизацией по Active Directory.
Подключаемся к установленному серверу по SSH. Подойдет любой SSH-клиент. Мне нравится putty (теперь прозрачная :-).

Для начала настроим сетку. Один интерфейс у нас будет смотреть в интернет, второй – в локалку. Отредактируем файл /etc/network/interfaces следующим образом:

auto lo
iface lo inet loopback
auto eth0 eth1 #Интерфейс, смотрящий в интернет
iface eth0 inet static
address ExternalIP
netmask NetMask
gateway Gateway
iface eth1 inet static #Интерфейс, смотрящий в локалку
address InternalIP
netmask NetMask

Если нужна маршрутизация в другие подсети в этот же файл добавляем следующее:

up route add -net DestiantionNetwork/NetMask gw Gateway dev eth1

И так для каждой маршрутизируемой сети.
После изменений в файле выполняем:

/etc/init.d/networking restart

Проверяем доступность интернета и сети со шлюза (попингуй). Если адреса в интернете не резолвятся, проверяем /etc/resolv.conf.В нем должно быть примерно следующее:

search mydomain.local #Имя локального домена
nameserver #DNS-сервер провайдера

Для быстроты работы интернета, лучше убрать все внутренние DNS-серверы.

Теперь, когда у нас доступна как внутренняя сеть, так и интернет, можно продолжать.
Теперь переходим к установке непосредственно SQUID. Для этого выполняем:

sudo apt-get install squid sarg

Собственно, прокся установлена. Переходим к настройке. Все настройки SQUID находятся в файле /etc/squid/squid.conf, который мы и будем редактировать.
Определим порт, на котором SQUID будет слушать запросы пользователей. В squid.conf за это отвечает параметр http_port. Для избежания исползования прокси всеми, пропишем следующее:

http_port Proxy_IP_Address:3128

Для увеличения объема кэша редактируем параметр cache_dir. В приведенном примере мы устанавливаем размер кэш 1 гиг.

cache_dir ufs /var/spool/squid 1000 16 256

Теперь про авторизацию в Active Directory.
Для начала создадим несколько групп. Имена группам лучше дать на английском и без пробелов, например:
SQUID_FullAccess – группа, пользователи которой будут иметь полный доступ в интернет, т.д.
Для поиска информации нам потребуется учетка пользователя (простого пользователя системы).
Подредактируем /etc/squid/squid.conf. Ищем параметр auth_param basic program и прописываем следующее:

auth_param basic program /usr/lib/squid/ldap_auth -v 3 -b ou=OU,dc=MYDOMAIN,dc=ORG -D логин_пользователя@MYDOMAIN.ORG -w пароль_пользователя -f sAMAccountName=%s -h IP_адрес_контроллера_домена

И раскомментируем следующие строки:

auth_param basic children 5
auth_param basic realm Squid proxy-caching web server
auth_param basic credentialsttl 2 hours
auth_param basic casesensitive off

Теперь настроим авторизацию через внешнюю группу. Добавим следующее:

external_acl_type ldap_users %LOGIN /usr/lib/squid/squid_ldap_group -R -b dc=MYDOMAIN,dc=ORG -D логин_пользователя@MYDOMAIN.ORG -w пароль_пользователя -f "(&(sAMAccountName=%v)(memberOf=cn=%a,ou=SQUID,dc=MYDOMAIN,dc=LOCAL))" -h IP_адрес_контроллера_домена

Важно! В параметре memberOf необходимо указать ПОЛНЫЙ путь до OU, в котором находятся группы.
И создадим группу пользователей в SQUID на основе доменной группы:

acl FullAccess external ldap_users SQUID_FullAccess

Теперь разрешаем группе FullAccess, сформированной на основе доменной группы SQUID_FullAccess, доступ в интернет (аналогичные acl создаем для нужных групп).

http_access allow FullAccess

Все. Теперь добавляем пользователя в одну из созданных в Active Directory групп и перезапускаем SQUID, Перезапускаем SQUID.

/etc/init.d/squid restart

Теперь в браузере настраиваемся на нашу проксю. При обращении к странице, вылезет окно. Вводим логин и пароль.

Источники:
1. SQUID & LDAP
2. Основы SQUID
3. Wiki-SQUID

Реклама
  1. Сергей
    19.12.2009 в 21:39

    без ввода логина и пароля. как можно организовать

    • Ozzy
      20.12.2009 в 22:55

      Тип авторизации basic, поэтому логин/пароль будет запрашивать всегда.
      Теоретически, можно прикрутить NTLM-авторизацию. Но многие говорят, что результат труда не стоит.
      Если хочется прозрачного проксирования, то можно отказаться от доменной авторизации и разрешать инет по айпишникам

  2. bassz
    14.08.2010 в 09:12

    QUID это хорошо тока не доконца написанно как в интернет лезет этот сквид ?
    может на пишете как настроить сквид для авторизации по группам
    например
    inet-admins
    inet-vip
    inet-servers
    inet-users
    inet-icq
    inet-ftp
    c разнымиправами доступалдя каждой группы
    вот ещё-бы скорость на каждого пользователя ограничивать чтобы не забивал весть канал сделать ему небольшую гарантированную скорость а остальное от загруженности
    и конешно приоритеты трафика наивышшим http htts и самый низкий для torrent (vip любят покачать )

  1. No trackbacks yet.

Добавить комментарий

Заполните поля или щелкните по значку, чтобы оставить свой комментарий:

Логотип WordPress.com

Для комментария используется ваша учётная запись WordPress.com. Выход / Изменить )

Фотография Twitter

Для комментария используется ваша учётная запись Twitter. Выход / Изменить )

Фотография Facebook

Для комментария используется ваша учётная запись Facebook. Выход / Изменить )

Google+ photo

Для комментария используется ваша учётная запись Google+. Выход / Изменить )

Connecting to %s

%d такие блоггеры, как: