Свой прокси-сервер на VPS — это личный выходной IP-адрес, который не делится с тысячами чужих пользователей, не попадает в чёрные списки пачками и стоит дешевле любой платной подписки на прокси. Сценарии типичные: направить трафик браузера через сервер в другой стране, ходить в интернет с постоянного адреса из публичного Wi-Fi, дать парсеру или боту стабильный IP, открыть доступ к своим сервисам без публикации их в интернет. В этой инструкции поднимем свой прокси на Ubuntu 24.04 LTS двумя способами: полновесный Squid с авторизацией по паролю и лёгкий 3proxy, который умеет сразу HTTP и SOCKS5.
Прокси или VPN: в чём разница
Прокси и VPN решают похожие задачи по-разному. VPN (например, OpenVPN или WireGuard) заворачивает и шифрует весь трафик устройства. Прокси прописывается в конкретном приложении и работает только для него.
| Критерий | Прокси | VPN |
|---|---|---|
| Область действия | Отдельное приложение | Всё устройство |
| Шифрование туннеля | Нет (HTTPS остаётся HTTPS) | Да, весь трафик |
| Клиентская программа | Не нужна | Нужна |
| Накладные расходы | Минимальные | Заметнее (шифрование) |
| Типовая задача | Браузер, парсер, бот, отдельный сервис | Защита всего трафика в публичном Wi-Fi |
Для ноутбука в чужом Wi-Fi надёжнее VPN. Для «пустить один браузер или скрипт через сервер» прокси проще и легче. Хорошая новость: на одном VPS спокойно живёт и то и другое.
Какой сервер нужен под прокси
Прокси — одна из самых лёгких серверных задач: 3proxy обходится десятками мегабайт RAM, Squid без кеша — 100–200 МБ. Решают другие параметры:
- безлимитный трафик — весь ваш серфинг и загрузки пойдут через сервер;
- стабильный канал — 100 Мбит/с хватает с большим запасом;
- постоянный IP и приличная «репутация» адреса.
Под личный прокси у Cheap-Host есть NAT VPS в Германии от 59 ₽/мес; оптимален NAT Base за 99 ₽/мес (1 vCPU, 2 ГБ RAM, 15 ГБ NVMe, безлимитный трафик). У NAT-тарифов общий IPv4 и диапазон из 999 проброшенных портов — прокси это никак не мешает, нужно лишь выбрать порт из своего диапазона (подробности ниже). Если нужен выделенный IPv4 в Москве — тариф Start за 450 ₽/мес. В обоих случаях сервер разворачивается за 45–60 секунд с моментальной выдачей IP и SSH. Что вообще такое NAT-тарифы и почему они настолько дешевле — разобрали в статье «Что такое NAT VPS».
Вариант 1. Squid: классический HTTP-прокси с авторизацией
Squid — «комбайн»: кеширование, гибкие ACL, ограничения по времени и доменам. Ставится из репозитория Ubuntu 24.04 одной командой:
sudo apt update
sudo apt install -y squid apache2-utils
Пакет apache2-utils нужен ради утилиты htpasswd — ею создадим файл с логином и паролем:
sudo htpasswd -c /etc/squid/passwd proxyuser
Сохраните оригинальный конфиг и создайте свой минимальный:
sudo mv /etc/squid/squid.conf /etc/squid/squid.conf.orig
sudo nano /etc/squid/squid.conf
Содержимое /etc/squid/squid.conf:
http_port 3128
auth_param basic program /usr/lib/squid/basic_ncsa_auth /etc/squid/passwd
auth_param basic realm proxy
auth_param basic credentialsttl 2 hours
acl authenticated proxy_auth REQUIRED
http_access allow authenticated
http_access deny all
via off
forwarded_for delete
cache deny all
access_log /var/log/squid/access.log
Что здесь важно: http_access deny all в конце запрещает всё, что не разрешено явно, — без авторизации прокси не отвечает. Директивы via off и forwarded_for delete убирают заголовки, по которым сайты видят, что вы за прокси, и ваш реальный IP. cache deny all отключает кеширование — для личного прокси оно только тратит диск. Перезапускаем и включаем автозагрузку:
sudo systemctl restart squid
sudo systemctl enable squid
Вариант 2. 3proxy: лёгкий HTTP + SOCKS5
3proxy — крошечный прокси-сервер, который в Ubuntu 24.04 тоже ставится из стандартного репозитория:
sudo apt install -y 3proxy
Конфиг лежит в /etc/3proxy/3proxy.cfg. Замените его содержимое на такое:
nserver 1.1.1.1
nserver 8.8.8.8
nscache 65536
timeouts 1 5 30 60 180 1800 15 60
log /var/log/3proxy/3proxy.log D
rotate 7
auth strong
users proxyuser:CL:СложныйПароль123
allow proxyuser
maxconn 200
proxy -n -a -p3128
socks -p1080
Разбор ключевых строк:
auth strong— доступ только по логину и паролю;users proxyuser:CL:...— учётная запись (CL означает пароль открытым текстом в конфиге, поэтомуchmod 600на файл обязателен);proxy -n -a -p3128— HTTP-прокси на порту 3128, анонимный режим без выдачи вашего IP;socks -p1080— SOCKS5-прокси на порту 1080: в отличие от HTTP-прокси, через SOCKS5 ходит почти любой TCP-трафик, включая мессенджеры.
sudo chmod 600 /etc/3proxy/3proxy.cfg
sudo systemctl restart 3proxy
sudo systemctl enable 3proxy
Один 3proxy закрывает оба сценария — браузер через HTTP-прокси и приложения через SOCKS5, — при этом расходует меньше ресурсов, чем вкладка браузера.
Файрвол и нестандартные порты на NAT VPS
Порты прокси нужно открыть в файрволе. С UFW (как его настроить с нуля — в инструкции по UFW):
sudo ufw allow 3128/tcp
sudo ufw allow 1080/tcp
sudo ufw reload
На NAT VPS есть особенность: снаружи доступны только порты из вашего личного диапазона (999 TCP/UDP-портов плюс отдельный SSH-порт). Стандартные 3128 и 1080 туда не входят, поэтому прокси нужно повесить на свои порты:
- посмотрите диапазон в панели — допустим, 20500–21498;
- для Squid замените
http_port 3128наhttp_port 20510; - для 3proxy:
proxy -n -a -p20510иsocks -p20511; - откройте эти порты в UFW и перезапустите службу.
Клиенты при этом указывают общий IP сервера и ваш порт — с точки зрения браузера ничего необычного. Дополнительный плюс: нестандартный порт почти не видят массовые сканеры открытых прокси. Как вообще устроен проброс на NAT-тарифах — в статье «Проброс портов на NAT VPS».
Проверка работы
Самый быстрый способ — curl с локального компьютера (в Windows команда доступна в PowerShell):
curl -x http://proxyuser:пароль@IP_СЕРВЕРА:3128 https://ifconfig.me
curl -x socks5://proxyuser:пароль@IP_СЕРВЕРА:1080 https://ifconfig.me
Обе команды должны вернуть IP вашего VPS. После этого прописывайте прокси где нужно: в настройках сети браузера или в расширении типа FoxyProxy, в настройках Telegram (SOCKS5), в коде парсера через параметр proxies. Если ответа нет — проверьте, что служба запущена (systemctl status squid или 3proxy), порт открыт в UFW, а на NAT VPS порт взят из вашего диапазона.
Безопасность: три правила владельца прокси
- Никогда не держите прокси открытым. Без авторизации его найдут сканеры за часы, и через ваш IP пойдёт чужой спам и перебор паролей — со всеми последствиями для репутации адреса.
- Ограничьте доступ по IP, если он у вас статический. В Squid:
acl myip src 203.0.113.7иhttp_access allow myipвместо парольной ACL. В 3proxy:allow proxyuser * 203.0.113.7. - Смотрите логи.
/var/log/squid/access.logи/var/log/3proxy/3proxy.logпокажут, кто и куда ходит через сервер. Заодно настройте fail2ban и SSH-ключи — базовый чек-лист тот же, что для любого сервера.
FAQ
Что выбрать — Squid или 3proxy?
Для личного прокси на 1–5 пользователей удобнее 3proxy: несколько мегабайт памяти, HTTP и SOCKS5 из коробки. Squid берите, когда нужны кеширование, сложные ACL, ограничения по доменам и времени.
Чем прокси отличается от VPN?
VPN шифрует весь трафик устройства, прокси работает для конкретных приложений. Прокси легче и не требует клиента, но сам туннель не шифрует (HTTPS-сайты остаются зашифрованными end-to-end). Для чужого Wi-Fi — VPN, для точечных задач — прокси.
Заработает ли прокси на NAT VPS с общим IP?
Да, это одна из типовых задач NAT VPS. Повесьте Squid или 3proxy на порт из вашего диапазона 999 проброшенных портов — и указывайте клиентам общий IP сервера с этим портом.
Можно ли оставить прокси без пароля?
Нет. Открытый прокси быстро находят и используют для спама и атак, после чего IP попадает в чёрные списки. Минимум — авторизация по паролю или белый список ваших IP.
Сколько ресурсов нужно прокси-серверу?
Минимум: 3proxy — десятки мегабайт RAM, Squid без кеша — 100–200 МБ. 1 vCPU и 1–2 ГБ RAM хватает для личного использования и небольшого парсинга; важнее безлимитный трафик.
Вывод
Свой прокси-сервер на VPS настраивается за 20–30 минут: Squid — если нужны кеш и гибкие правила доступа, 3proxy — если хочется максимально лёгкий HTTP + SOCKS5. Обязательные пункты — авторизация, файрвол и, на NAT-тарифах, порт из своего диапазона. Если для этой задачи нужен сервер — у Cheap-Host тариф NAT Base от 99 ₽/мес: NVMe, KVM, безлимитный трафик и выдача за минуту, а под выделенный IPv4 — Start от 450 ₽/мес. Тарифы и заказ — на cheap-host.onl.