Настройка squid ubuntu webmin

Обновлено: 07.07.2024

Прокси сервер Squid - это великолепное решение широких требований к кэширующему и прокси серверу, которое масштабируется для сетей от уровня регионального офиса до корпорации, когда обеспечивается расширяемый разделяемый механизм контроля доступа и отслеживания критических параметров через протокол SNMP. Когда выбираете компьютерную систему для использования в качестве Squid прокси или кеширующего сервера, убедитесь что ваша система оснащена большим количеством оперативной памяти, поскольку Squid поддерживает кэш в памяти для увеличения производительности.

Установка

В терминале введите следующую команду для установки сервера Squid:

Настройка

Squid настраивается редактированием директив, содержащихся в конфигурационном файле /etc/squid/squid.conf. Следующие примеры иллюстрируют некоторые директивы, которые могут быть изменены для воздействие на поведение сервера Squid. Для более глубокой настройки Squid смотрите раздел Ссылки.

Прежде, чем редактировать конфигурационный файл, вам стоит сделать копию оригинального файла и защитить ее от перезаписи, чтобы у вас всегда оставались оригинальные настройки в качестве справочника и для повторного использования при необходимости.

Скопируйте файл /etc/squid/squid.conf и защитите его от записи следующими командами в терминале:

2. Измените директиву visible_hostname для того, чтобы присвоить серверу Squid определенное имя хоста (hostname). Это имя необязательно должно быть именем хоста компьютера. В примере оно определено как weezie:

3. Используя контроль доступа Squid, вы можете настроить, чтобы использование интернет сервиса прокси было доступно только пользователям с определенных IP адресов. Например, мы проиллюстрируем доступ пользователей только из подсети 192.168.42.0/24:

4. Используя великолепные возможности контроля доступа Squid, вы можете настроить возможность использования интернет сервиса прокси только в обычные рабочие часы. Например, мы покажем как настроить доступ сотрудников, которые работают с 9:00 до 17:00 с понедельника по пятницу из подсети 10.1.42.0/24:

Важно : В Webmin модуль Squid иногда не определяет, запущен ли прокси сервер Squid. В частности, это случается на FreeBSD(А может и на других платформах), если Squid запускается автоматически при запуске системы. Т.е. если Squid находится в "автозапуске". Для "автозапуска" Squid в FreeBSD, нужно внести строку в файл /etc/rc.conf :

Подводя итог, сделаем вывод, что сервер представляет собой систему которая должна редко перезагружатся. Соответственно каждый может убрать из "автозапуска" Squid и запускать его через Webmin. В этом случае модуль Webmin будет точно знать - запущен ли Squid.

Если вы хотите выставить или обновить настройки Squid из Webmin, вам нужно будет использовать модуль Squid из категории Servers(Службы). Когда вы нажмете на его значок, появится страница как на рисунке, если предположить, что всё установлено и настроено корректно. Как вы можете видеть, главная страница состоит только из набора иконок, каждая из которых может быть нажата для редактирования параметров Squid в некоторой категории.

Squid Proxy Webmin

Рисунок - Главная страница модуля Squid. Для увеличения картинки, нажмите на неё.

1. Если вам необходимо добавить дополнительные каталоги с кэш, вы можете сделать это воспользовавшись инструкциями раздела Добавление кэш каталогов, для определения собственных каталогов, прежде чем продолжить действия.

2. В поле as Unix user(От имени пользователя) введите имя пользователя, который будет являтся владельцем кэш-файлов и от имени которого будет запущен демон. Как правило, создается специальный пользователь с именем squid (и в поле as Unix User автоматически прописывается этот пользователь если он существует в системе). Мы рекомендуем с помощью модуля Users and Groups(Пользователи и группы) создать пользователя с именем squid и в качестве его домашней директории указать кэш каталог, если это необходимо. (В FreeBSD, при установке из портов, пользователь создаётся автоматически)

3. Нажмите на кнопку Initialize Cache (Инициализация кэша). Конфигурация будет обновлена и готова для использования вами выбранного имени пользователя. Затем будет выполнена команда squid -z , которая запустит процесс создания кэш каталога. Все действия будут отображены на странице, поэтому вы сможете видеть как идет процесс инициализации кэша.

После установки прокси-сервера, если вы хотите использовать Squid в долгое время, то вам следует принять меры к тому, чтобы он запускался во время загрузки системы. Вы можете это сделать используя модуль Bootup and Shutdown (Загрузка и выключение). Все дистрибутивы Linux и FreeBSD используют сценарий для запуска Squid, хотя он может выключен по умолчанию. В таком случае, вам придется создать сценарий в котором бы выполнялась команда вида: /usr/local/squid/bin/squid -sY, при условии, что Squid у вас установлен в /usr/local/squid.

Примечание.

Если вы используете ОС FreeBSD, то наилучшим вариантом будет решение, когда в качестве запускного скрипта используется автоматически установленный системой скрипт, создающийся при установке из портов. Он находится в /usr/local/etc/rc.d. В настройках модуля squid, где указыватеся скрипт запуска напишем - файл запуска squid: /usr/local/etc/rc.d/squid start. Скрипт остановки: /usr/local/etc/rc.d/squid stop. Скрипт перезапуска: squid -k reconfigure (применение изменённой конфигурации и перезапуск).

После того как Squid был установлен и инициализирован кэш каталог, вы можете начать использовать модуль Squid в Webmin. Когда Squid запущен, тогда каждая страница имеет две ссылки в верхней части: Apply Changes(Применить изменения), которая обновляет текущую конфигурацию прокси-сервера. И кнопка Stop Squid(Остановить Squid), которая останавливает сервер Squid. Если сервер не запущен, то будет только одна кнопка Start Squid(Запустить Squid), которая запускает прокси сервер. Если вы ещё не запускали сервер, то, возможно, вам необходимо это сделать.

При использовании данного модуля, убедитесь, что ваш браузер идет не через Squid прокси-сервер для доступа к вашему серверу Webmin. В противном случае вы рискуете потерять доступ к модулю, если вы сделаете ошибку в конфигурации или остановите процесс squid. Все браузеры, которые могут использовать прокси имеют поле для списка хостов и подсетей, к которым следует подключатся напрямую (без использования proxy). Впишите в него адрес вашего сервера Webmin.

squidproxy

А попытаемся мы все сделать с помощью веб-интерфейса Webmin. Webmin для Squid не назовешь ягодкой. Он очень суров)) Поверьте. Вызывает только неприязнь.. но свое дело четко делает. Поэтому мы будем учится работать с ним, при этом объясняя, что изменяемые в веб-интерфейсе функции меняют в конфиге. Мы возьмемся за 3-й сквид, в составе Ubuntu Server 12.04 идет squid 3.1 — с ним и подружимся.

squid1

Через терминал:

Обновляем параметры Webmin и идем в настройки Squid:

Сначала в настройки модуля:

squid3

Здесь мы видим исчерпывающую информацию о настройках нашего прокси-сервера. Можете выставить все как у меня:

squid4

Чтобы увидеть сам конфиг squid воочию, введите команду:

Теперь понимаете, почему мы используем веб-интерфейс? :) Так проще осязать и управлять всеми возможностями squid.

squid5

Устанавливаем максимальный размер кэша на винте, остальные параметры рекомендую оставить так как у меня, т.е. 16/256:

squid6

Далее идем в меню — использование памяти:

squid7

Выставляем следующие значения:

Нижняя граница использования диска (процесс удаления старых объектов заканчивается, если достигнут данный уровень, cache_swap_low): 90%

Верхняя граница использования кэша IP (верхний и нижний уровень заполнения IP кеша для алгоритма удаления старых объектов по LRU, ipcache_high): 95%

Нижняя граница использования кэша IP (верхний и нижний уровень заполнения IP кеша для алгоритма удаления старых объектов по LRU, ipcache_low): 90%

Размер кэширования адреса IP (размер кеша для IP адресов, ipcache_size): 1024

Далее, идем в настройки авторизации:

squid9


Тут мы можем установить, кому мы разрешаем пользоваться нашим прокси-сервером. Мы рассмотрим 2 простейших варианта авторизации: по IP, и по логину/паролю (basic).

squid10

Для авторизации по логину и паролю (создаем там учетку):

squid11

Потом заходим в «управление доступом» и добавляем правило:

Разрешаем правило:

squid14

squid15

Для авторизации по IP стоит вместо предыдущих двух пунктов, создать такой ACL:

squid16

Я думаю тут все понятно, разрешаем с такого-то по такой-то IP.

Все, теперь к проксе можно подключится только с определенного диапазона IP нашей сети.

Для блокировки сайтов/контента в интернете, создайте новый ACL:

squid20

В «ограничениях прокси» нужно создать правило (точно так же, как указано выше) и разместить его выше правила DFN (в нашем случае). Тогда, все указанные сайты в правиле banned будут заблокированы (блокировка будет проводится как по полному имени сайта, так и по ключевым словам. Например, в нашем случае, будут заблокированы все домены в состав которых входит слово «porno» и «sex»).

squid22

Таким образом можно накручивать эти правила, сколько фантазии хватит. Фильтровать доступ к сайтам по пользователям и группам и прочее.

Squid 3.1 на Ubuntu Server 12.04 + Webmin, базовая настройка : 7 комментариев

Приветствую! Твой блог это збс, но серые буквы на черном фоне это вырвиглазная идея. Сделай плиз их хотя бы белыми, так текст читать легче.

Наоборот, очень мягко читается. имхо.

Mr.s. прав, читать невозможно
авторизация по ip, это у тебя ведь не она, так? это просто разрешение ходить с таких то ip. а какже статистика посещений и тд.?

Да, по всякому пробовал, и выше и ниже = \
Может получится через iptables закрыть 443й одной командой?

Я уже не раз писал заметки об улучшении работы в Интернет. Этим утром, разбирая груду старого железа (чтобы унести его в центр переработки), я случайно обнаружил мой старый ноутбук.

Это старенький IBM Thinkpad T22, Тип 2647 с 256Мб оперативной памяти и 20Гб жёстким диском. Пару лет назад у меня было штук 20 таких, я покупал их в центре переработки, а затем продавал на eBay. И вот сейчас у меня осталось только пару штук.

Я использовал Ubuntu для этого проекта. Установка сервера Squid позволила получить несколько важных преимуществ:

Освободить пропускную способность канала в Интернет Позволил просматривать копии страниц, которые я регулярно посещаю (например, если сервер недоступен).

300 МГц x86 процессор 64 МБ оперативной памяти (ОЗУ) По крайней мере 4 ГБ свободного места на жёстком диске (для полной установки и файла подкачки) VGA видео-карта поддерживающая разрешение 640×480 CD-ROM привод или сетевая карта

Далее по тексту вам придётся подставлять вместо моих IP адресов и имён те, которые назначены в вашей сети. После завершения установки базовой комплектации сервера, откройте терминал с вашего домашнего (удобного) компьютера и введите:

192.168.1.200 — адрес сервера, который я только что установил.

чтобы войти в режим суперпользователя. В таком случае вам не придётся каждый раз вводить «sudo».

Установите Squid используя команду:

Распакуйте его командой:

Перейдите в распакованную директорию с webmin введя команду:

Запустите установку webmin:

Потом я изменил порт доступа с 10000 на 26395. А также изменил аккаунт доступа на «root» и ввёл новый пароль.

На моём локальном компьютере потребовалось изменить hosts файл вот так:

И добавить следующую строку:

Теперь необходимо перезапустить сервер Squid командой:

После перезагрузки и входа в систему (по ssh), вы можете проверить статус сервиса webmin командой:

Вы должны увидеть что-то вроде этого:

Чтобы удостовериться, что он прослушивает верный порт, введите следующую команду:

В выводе команды вы должны найти строчку, вроде такой:

Помните, мы с вами выбрали порт 26395 при установке и webmin использует Perl .

Теперь откройте веб-браузер и перейдите на страницу webmin. URL который я использовал:

И снова, помните, я добавлял соответствующую информацию в файл hosts, чтобы браузер смог обнаружить этот адрес.

После установки снова взгляните на меню слева и в пункте «Servers», теперь вы должны увидеть модуль «Squid Proxy Server». Перейдите в него, а затем откройте опцию «Ports and Networking».

Заметьте, что Squid работает на стандартном порту 3128. Теперь вернитесь на страницу модуля Squid, щёлкнув по «Module Index» (вверху страницы). Перейдите в опцию «Access Control» и найдите кнопку внизу страницы «Browser Regexp» — она содержит выпадающий список. В этом списке выберите «Client Address», затем щёлкните кнопку «Create new ACL».

Введите ваши значения в эту форму. Я использовал следующие:

Больше я ничего не изменял, а нажал кнопку «Save».

На появившемся экране переместите имя «localdomain» (или как вы его назвали) вверх, используя стрелку вверх до тех пор, пока оно не будет находиться выше текста «Deny all». Если оно будет ниже, ваш браузер не сможет получить доступ к серверу.

Теперь в окне ssh введите команду:

Этим вы перезагрузите сервер и Squid3 (вместе с новыми настройками). Я обратил внимание, что webmin (по каким-то причинам) считает, что установлен Squid версии 2.6. Потому-то webmin и не может запустить сервер. Но после перезагрузки системы показалась кнопка «Stop Squid», что означает, что модуль webmin запустился и успешно работает (дальше я не стал больше возиться с webmin, ведь всё-равно использую SSH для доступа, перезагрузки и т.д.)

Последним шагом будет настройка вашего браузера для использования адреса нашего прокси-сервера. В моём случае, мне необходимо в каждый браузер внести следующий адрес прокси:

192.168.1.200:3128

3 июля я обнаружил проблему при доступе к статистике. Вот её описание и метод исправления:

При попытке доступа к «Cache Manager Statistics» в прокси сервер Squid, выдаётся следующая ошибка:

«The Squid cache manager program /usr/lib/cgi-bin/cachemgr.cgi was not found on your system. Maybe your module configuration is incorrect.»

После этого менеджер статистики должен заработать.|Сайты с полезной информацией:

Ccылки

Как блокировать доступ к сайтам, используя сервер Squid в Ubuntu Linux

Как блокировать доступ по портам в сервере Squid, Ubuntu Linux

Устанавливаем Squid прокси используя Webmin на Ubuntu Server 8.04.1

Параноидальный пингвин - Создание безопасного Squid Web прокси, Часть 1

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

Читайте также: