Установка и настройка SQUID3 прокси сервера, на базе Ubuntu Server 14.04.1

Прокси сервер – это компьютер который обрабатывает запросы клиентских компьютеров при обращении к сети интернет.

С помощью прокси сервера, можно не только предоставить централизованный доступ к интернету, но и лимитировать его, закрывать доступ к определенным сайтам, открывать доступ только к разрешенным сайтам, кэшировать статичные данные (css, картинки, баннеры…) и многое другое.

Для установки прокси сервера я буду использовать уже готовый сервер с ubuntu 14.04.1 и настроенными службами DHCP и DNS. И так, приступим.
Открываем доступ к интернету для компьютеров в локальной сети

Для начала нам нужно открыть полный доступ к интернету для всех компьютеров в нашей локальной сети. Для этого воспользуемся NATом. NAT – технология позволяющая пускать весь сетевой трафик через один адрес. То есть все запросы к интернету в локальной сети, будут обрабатываться именно сервером.

Создадим файл с настройками

Внесем в этот фал следующее:

Сохраним файл и присвоим ему права на выполнение:

Добавим запуск NATа (строку post-up /etc/nat) в файл с сетевыми настройками:

ваш файл должен выглядеть так:

Сохраняем, закрываем и перезагружаем сервер:

В таком виде, все готово для раздачи интернета компьютерам в сети. Если сейчас включить клиентский компьютер, он получит IP адрес от DHCP сервера, а также получит настройки шлюза (192.168.0.1), соответственно должен появится интернет. Если интернет появился, двигаемся дальше, если нет, проверяем что сделали не так.

Установка и настройка Squid3

Теперь нам нужно установить Squid3 – сам прокси сервер. В статье описаны базовые настройки, для более углубленной настройки, советую почитать документацию по squid.

Устанавливаем пакет squid3

После установки откроем файл /etc/squid3/squid.conf

В первую очередь найдем строку http_port 3128 и добавим к ней значение intercept и IP адрес сервера, чтобы получилось вот так:

Это делается для того, чтобы в последующем нам не приходилось настраивать прокси сервер на всех клиентских машинах (прокси будет прозрачным).

Теперь, нужно указать сеть в которой будет работать наш прокси сервер, для этого раскомментируем строку acl localnet src 192.168.0.0/16 # RFC1918 possible internal network и укажем префикс маски сети 24 вместо 16 (так как у нас маска 255.255.255.0). В итоге срока должна выглядеть так:

разрешаем доступ к прокси из внутренней сети, расскомментировав строку

Теперь настроим кэширование. Нужно найти строку cache_dir ufs /var/spool/squid3 100 16 256, раскомментировать её и поменять значения на такие:

Далее расскомментируем строку maximum_object_size 4 MB, тем самым укажем максимальный размер кэшируемого объекта.

Раскомментируем строку maximum_object_size_in_memory 512 KB, тем самым указываем максимальный объем кэшированного объекта в памяти.

Раскомментируем строку cache_mem 256 MB и заменим занчение с 256 на 1024, тем самым указываем допустимый объем памяти.

Вот мы и настроили кэширование, кэширование должно снизить нагрузку на канал и увеличить скорость открытия страниц. Кэш очищается при перезагрузке сервера.

Теперь включим ведение логов, для этого раскомментируем строку access_log daemon:/var/log/squid3/access.log squid и добавим ниже logfile_rotate 31(файлы логов будут храниться 31 день, после будут перезаписываться самые старые).

На этом базовую настройку squid3 можно завершить. Перезапустим squid3

Теперь прокси сервер настроен и запущен, но для того чтобы трафик пользователей шел именно через него, нужно завернуть весь http трафик на squid. Для этого добавляем в /etc/nat строку:

Собствеенно теперь мой файл /etc/nat имеет такой вид:

Если вы сделали все как написано в статье, значит у вас будет полностью рабочий прокси сервер. В следующих статьях я напишу как установить контент – фильтр Dansguardian и как сделать black list для добавления запрещенных сайтов.

Источник