Squid – это мощный прокси-сервер, широко используемый для кэширования веб-контента, улучшения производительности сети и повышения безопасности. В этой статье мы подробно рассмотрим процесс установки и настройки Squid на Ubuntu Server.
Установка Squid
Первым шагом является установка Squid с использованием менеджера пакетов apt. Откройте терминал и выполните следующие команды:
sudo apt update– Обновление списка пакетов.sudo apt install squid– Установка пакета Squid. Вышел Radeon Software for Linux 20.10
После завершения установки, Squid будет автоматически запущен как служба systemd. Вы можете проверить его статус командой sudo systemctl status squid.

Базовая конфигурация Squid
Основной файл конфигурации Squid – squid.conf, расположенный в каталоге /etc/squid/. Перед внесением изменений рекомендуется создать резервную копию: sudo cp /etc/squid/squid.conf /etc/squid/squid.conf.bak.
Настройка портов и IP-адреса
По умолчанию Squid прослушивает порт 3128 на всех доступных IP-адресах. Вы можете изменить эти параметры, отредактировав squid.conf. Найдите строки:
http_port 3128
Чтобы привязать Squid к конкретному IP-адресу, укажите его после номера порта: http_port 192.168.1.100:3128.
Настройка ACL (Access Control Lists)
ACL – это мощный механизм для определения правил доступа к прокси-серверу. Они позволяют контролировать, кто может использовать прокси и к каким ресурсам он имеет доступ. Примеры:
acl localnet src 192.168.1.0/24– Определяет сеть 192.168.1.0/24 как локальную.acl SSL_ports port 443– Определяет порт 443 как порт SSL.acl Safe_ports port 80 # httpacl Safe_ports port 21 # ftpacl Safe_ports port 443 # httpsacl Safe_ports port 70 # gopheracl Safe_ports port 210 # waisacl Safe_ports port 1025-65535 # unregistered portsacl Safe_ports port 280 # http-mgmtacl Safe_ports port 488 # gss-httpacl Safe_ports port 591 # filemakeracl Safe_ports port 777 # multiling http
После определения ACL необходимо создать правила, которые будут их использовать. Например, чтобы разрешить доступ только локальной сети:
http_access allow localnet
Настройка кэширования
Squid использует кэширование для хранения копий веб-контента, что позволяет ускорить загрузку страниц для пользователей. Основные параметры кэширования:
cache_mem 256 MB– Выделяет 256 МБ памяти для кэша в оперативной памяти.cache_dir ufs /var/spool/squid 10240 16 256– Определяет каталог для хранения кэша на диске (/var/spool/squid), его размер (10240 МБ), количество первого уровня каталогов (16) и количество второго уровня каталогов (256).refresh_pattern . 0 20% 4320– Определяет правила обновления кэшированного контента.
Расширенные настройки
Прозрачный прокси
Прозрачный прокси перехватывает трафик без необходимости настройки клиентов. Для этого необходимо настроить перенаправление HTTP и HTTPS трафика на Squid на уровне маршрутизатора или брандмауэра.
Reverse Proxy
Reverse proxy используется для защиты веб-серверов и балансировки нагрузки. Squid может выступать в роли reverse proxy, перенаправляя запросы к внутренним серверам.
Фильтрация контента
Squid позволяет осуществлять фильтрацию контента, блокируя доступ к определенным веб-сайтам или категориям контента. Это можно реализовать с помощью ACL и правил доступа.
Авторизация и аутентификация
Авторизация и аутентификация позволяют контролировать доступ к прокси-серверу, требуя от пользователей ввода имени пользователя и пароля.
Мониторинг и Troubleshooting
Squid предоставляет различные инструменты для мониторинга и troubleshooting:
- Логирование: Squid записывает информацию о своей работе в файлы access.log и cache.log.
- Debug: Включите режим отладки в
squid.confдля получения более подробной информации о работе Squid. - DNS: Убедитесь, что Squid правильно настроен для работы с DNS. Проверьте файл hosts.
- SSL/TLS: При работе с HTTPS убедитесь, что Squid правильно настроен для работы с SSL/TLS сертификатами.
- user-agent: Проверьте, правильно ли Squid обрабатывает заголовки user-agent.
Регулярно выполняйте обновления пакетов с помощью apt для обеспечения безопасности и получения новых функций. Оптимизация cache_mem и cache_dir может значительно улучшить производительность.
В случае возникновения проблем, внимательно изучите логи Squid и используйте инструменты отладки для выявления и устранения неисправностей.
