MAATRIX / Блог / Как установить и настроить Squid на VPS

Как установить и настроить Squid на VPS

Как установить и настроить Squid на VPS

MAATRIX

Squid — зрелый кэширующий HTTP-прокси, который годами работает как точка выхода в интернет, ускоряет повторные запросы и даёт гибкий контроль доступа через ACL. Ниже — как установить и настроить Squid на VPS: поднять прокси, включить авторизацию по логину и паролю, задать правила доступа и повесить сервис на автозапуск, чтобы получить надёжный личный прокси с чистым IP.

Обсудить статью, задать вопрос или начать новую тему

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

Перейти в сообщество →

Что нужно и когда выбирать Squid

Squid берут, когда нужен именно HTTP/HTTPS-прокси с тонким контролем: ограничить доступ по логину, по списку IP, кэшировать трафик, вести журнал обращений. Для чистого туннелирования всего трафика лучше подойдёт VPN, а вот для приложений и браузеров, которые умеют ходить через прокси, Squid — удобный выбор. Ресурсов нужно немного: 1 ядро и 1 ГБ RAM хватает для личного использования; кэш имеет смысл, если много повторных запросов, и тогда пригодится чуть больше диска.

Стоит сразу понимать разницу между Squid и VPN, потому что от неё зависят ваши ожидания. VPN заворачивает в туннель весь трафик устройства на уровне системы, и приложения об этом даже не знают. Squid работает на уровне приложения: он обслуживает только те программы, которым вы явно указали ходить через прокси. Это менее «тотально», зато гибче — можно направить через прокси только браузер или конкретный инструмент, оставив остальное напрямую. Для многих задач именно такой избирательный подход удобнее, а заодно он не ломает работу локальных сервисов.

Система — свежая Ubuntu или Debian. Squid есть в официальных репозиториях, так что установка сводится к одной команде:

apt update && apt upgrade -y
apt install -y squid apache2-utils

Пакет apache2-utils понадобится для создания файла паролей — в нём лежит утилита htpasswd, которой мы заведём пользователей прокси.

Базовая настройка конфига

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

cp /etc/squid/squid.conf /etc/squid/squid.conf.bak

По умолчанию Squid слушает порт 3128. Сменить порт или добавить свой можно директивой http_port. Самое важное — не оставить прокси открытым: в стоковом конфиге доступ ограничен локальной сетью, и если просто открыть порт наружу без правил, вы либо не сможете подключиться, либо, наоборот, отдадите прокси всему интернету. Поэтому дальше мы добавим авторизацию, а доступ разрешим только аутентифицированным пользователям.

Нужен сервер под эту задачу?

Разверните VPS MAATRIX за пару минут: NVMe, AMD EPYC, root-доступ, локации UK, США и РФ. Оплата картой РФ и по СБП.

Арендовать VPS для прокси

Авторизация по логину и паролю

Создайте файл паролей и заведите пользователя. Утилита htpasswd запросит пароль и запишет его в зашифрованном виде:

htpasswd -c /etc/squid/passwd proxyuser

Теперь подключите этот файл к Squid. В /etc/squid/squid.conf добавьте блок аутентификации и разрешающее правило, а стандартное правило, открывающее локальную сеть, при необходимости уберите:

auth_param basic program /usr/lib/squid/basic_ncsa_auth /etc/squid/passwd
acl authenticated proxy_auth REQUIRED
http_access allow authenticated
http_access deny all

Строка http_access deny all в конце обязательна — она закрывает всё, что не разрешено явно. Порядок правил в Squid важен: они читаются сверху вниз, и первое подходящее срабатывает. Поэтому allow authenticated должно стоять до финального deny all, иначе доступ будет закрыт для всех.

ACL: тонкий контроль доступа

Сила Squid — в списках доступа. Помимо авторизации можно ограничить доступ по IP клиента, по времени, по доменам. Например, разрешить прокси только с одного офисного адреса:

acl office_ip src 203.0.113.10
http_access allow office_ip authenticated

Можно и блокировать нежелательные домены списком через acl ... dstdomain. Для личного прокси обычно достаточно связки «авторизация + deny all», но ACL пригодятся, когда прокси используют несколько человек с разными правами. Главное правило при работе с ACL — помнить про порядок: разрешающие правила выше запрещающих, а deny all всегда последним.

Отдельного упоминания заслуживает работа Squid с HTTPS. По умолчанию прокси пропускает зашифрованный трафик методом CONNECT, не заглядывая внутрь, — этого достаточно для большинства сценариев, когда прокси нужен как точка выхода с чистым IP. Полноценный разбор HTTPS с подменой сертификата (SSL bump) существует, но это отдельная сложная настройка со своими юридическими и техническими последствиями, и для личного прокси она обычно не нужна. Если ваша цель — просто выходить в интернет через свой адрес, оставляйте HTTPS проходящим насквозь и не усложняйте конфигурацию.

Автозапуск, фаервол и проверка

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

squid -k parse
systemctl enable --now squid
systemctl restart squid

Откройте порт прокси в фаерволе и продублируйте правило во внешней панели облака, иначе снаружи он будет недоступен:

ufw allow 3128/tcp
ufw allow OpenSSH

Проверьте прокси запросом, подставив логин, пароль и адрес — в ответе должен быть внешний IP вашего сервера:

curl -x http://proxyuser:PASSWORD@ВАШ_IP:3128 https://ifconfig.me

Обслуживание и репутация IP

Логи Squid лежат в /var/log/squid/access.log и подробно показывают, кто и куда ходил через прокси — это удобно для контроля, но лог растёт, поэтому оставьте штатную ротацию включённой. Кэш очищается пересозданием через squid -z при остановленном сервисе, если он вдруг разросся. Обновляйте систему и сам Squid вместе с пакетами безопасности. И помните: как у любого прокси, качество работы упирается в чистоту IP — если адрес засвечен, сервисы будут отдавать капчу независимо от настроек. Под задачи, где важна репутация адреса, берите VPS с чистым IP: у MAATRIX его можно арендовать в США, Европе или России с оплатой из России картой, СБП или криптой.

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

Нужен сервер под эту задачу?

Разверните VPS MAATRIX за пару минут: NVMe, AMD EPYC, root-доступ, локации UK, США и РФ. Оплата картой РФ и по СБП.

Арендовать VPS для прокси

Обсудить статью, задать вопрос или начать новую тему

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

Перейти в сообщество →

Частые вопросы

Squid — это VPN?

Нет, это HTTP/HTTPS-прокси. Он подходит для браузеров и приложений, умеющих ходить через прокси, даёт кэш и ACL-контроль. Для туннелирования всего трафика устройства нужен VPN.

Как закрыть прокси от посторонних?

Включите авторизацию через basic_ncsa_auth с файлом паролей htpasswd, разрешите доступ правилом http_access allow authenticated и завершите конфиг обязательным http_access deny all.

Почему после правки конфига доступ пропал?

Скорее всего нарушен порядок ACL. Правила читаются сверху вниз, разрешающие должны стоять выше deny all. Проверьте конфиг командой squid -k parse.

Хватит ли минимального VPS?

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

Нужны сами нейросети для контента?

Генерируйте изображения, видео и озвучку нейросетями на falapi.io — десятки моделей в одном окне. Оплата картой РФ и по СБП.