установка прокси сервера на linux
установка прокси сервера на linux
Как правильно настроить прокси на Linux: ловушки и решения
установка прокси сервера на linux — задача, с которой сталкиваются системные администраторы, разработчики и просто продвинутые пользователи. Но большинство гайдов упускают критически важные детали: от утечек DNS до юрисдикционных рисков и поддельных «безопасных» конфигураций. Эта статья покажет, как сделать всё по-настоящему правильно — без иллюзий, с реальными цифрами и проверенными практиками.
Почему «просто поставить прокси» — это опасно
Многие считают, что установка прокси сервера на linux автоматически делает их анонимными. Это миф. Прокси — не панацея. Он может:
- Передавать ваш IP в заголовках
X-Forwarded-For, если неправильно настроен. - Не шифровать трафик (в отличие от VPN), оставляя данные открытыми для перехвата в публичных сетях.
- Логировать все запросы, особенно если вы используете чужой сервер или бесплатный сервис.
Прокси полезен для:
- Обхода геоблокировок (например, YouTube в регионах с ограничениями).
- Фильтрации трафика в корпоративной сети.
- Тестирования приложений с разных IP-адресов.
Но он не защищает от:
- Атак Man-in-the-Middle в кафе с Wi-Fi от «МТС» или «Ростелекома».
- Слежки провайдера через DPI (Deep Packet Inspection).
- Утечек WebRTC в браузере.
Если вам нужна реальная защита, лучше использовать полноценный VPN с шифрованием. Но если задача именно в проксировании — продолжайте читать.
Выбор типа прокси: HTTP, SOCKS5 или Transparent?
Не все прокси одинаковы. Вот ключевые различия:
| Тип | Шифрование | Поддержка UDP | Использование в браузере | Подходит для торрентов |
|---|---|---|---|---|
| HTTP | Нет | Нет | Да | Нет |
| HTTPS | Только TLS | Нет | Да | Нет |
| SOCKS4 | Нет | Нет | Через расширения | Ограниченно |
| SOCKS5 | Нет | Да | Через расширения | Да |
| Transparent | Нет | Зависит | Автоматически | Да |
SOCKS5 — лучший выбор для большинства сценариев. Он работает на уровне сессии (Layer 5 модели OSI), поддерживает UDP (критично для торрентов и VoIP) и позволяет передавать любые данные, включая DNS-запросы.
Важно: даже SOCKS5 не шифрует трафик. Если вы подключаетесь к нему по обычному TCP, ваш провайдер видит всё содержимое. Для шифрования нужно использовать SSH-туннель или stunnel поверх SOCKS5.
Установка прокси-сервера на Linux: пошагово
Шаг 1. Выбор ПО
Самые надёжные решения:
- 3proxy — лёгкий, поддерживает HTTP, HTTPS, SOCKS4/5.
- Squid — мощный кэширующий прокси, но сложнее в настройке.
- TinyProxy — минималистичный HTTP/HTTPS-прокси.
- Dante — специализирован на SOCKS.
Для универсального случая возьмём 3proxy — он прост, быстр и поддерживает все нужные протоколы.
Шаг 2. Установка 3proxy на Ubuntu/Debian
sudo apt update
sudo apt install -y build-essential git
git clone https://github.com/z3APA3A/3proxy.git
cd 3proxy
make
sudo make install
После сборки создаём конфигурационный файл /etc/3proxy.cfg:
#!/bin/bash
daemon
maxconn 1000
nserver 8.8.8.8
nserver 1.1.1.1
nscache 65536
timeouts 1 5 30 60 180 1800 15 60
users user:CL:password
auth strong
allow user
proxy -p3128
socks -p1080
Этот конфиг:
- Запускает прокси в фоне (daemon).
- Использует Google DNS и Cloudflare DNS.
- Требует авторизацию (auth strong).
- Открывает HTTP-прокси на порту 3128 и SOCKS5 на 1080.
Не забудьте заменить
userиpasswordна свои значения. Храните пароль в отдельном файле с правами600, если возможно.
Шаг 3. Запуск и автозагрузка
Создаём systemd-юнит /etc/systemd/system/3proxy.service:
[Unit]
Description=3proxy proxy server
After=network.target
[Service]
Type=simple
ExecStart=/usr/local/bin/3proxy /etc/3proxy.cfg
Restart=always
User=nobody
[Install]
WantedBy=multi-user.target
Затем:
sudo systemctl daemon-reload
sudo systemctl enable 3proxy
sudo systemctl start 3proxy
Проверяем:
ss -tulnp | grep -E '3128|1080'
Вы должны увидеть прослушивающие сокеты.
Чего вам НЕ говорят в других гайдах
Большинство инструкций заканчиваются на запуске сервиса. Но реальные риски начинаются после установки.
- DNS-утечки даже через прокси
Если клиент (браузер, торрент-клиент) отправляет DNS-запросы напрямую, а не через прокси, ваш провайдер узнает, какие сайты вы посещаете. Особенно это актуально для Windows-приложений и некоторых Linux-клиентов.
Решение: принудительно направлять DNS через прокси. В случае SOCKS5 — убедитесь, что клиент поддерживает «remote DNS resolution». Например, в qBittorrent:
Настройки → Соединение → Использовать прокси для разрешения имён хостов.
- Прокси ≠ анонимность
Ваш IP всё ещё может быть раскрыт через:
- WebRTC (в Chrome/Firefox без отключения).
- JavaScript-фингерпринтинг.
- Заголовки X-Forwarded-For, если прокси неправильно сконфигурирован.
Проверьте утечки на ipleak.net и browserleaks.com.
- Бесплатные публичные прокси — ловушка
Сервисы вроде FreeProxyList или HideMy.name предлагают «бесплатные прокси». На деле:
- Они часто медленные (до 50 Кбит/с).
- Могут внедрять рекламу или перенаправлять на фишинговые страницы.
- Некоторые — часть ботнетов (например, Hola использовал пользователей как выходные узлы).
Стоимость аренды VPS с прокси от $3–5/мес. Если вам предлагают «бесплатно» — вы платите своими данными.
- Юрисдикция и логирование
Даже если вы сами ставите прокси на свой сервер — где он находится? Сервер в США, Германии или Нидерландах попадает под юрисдикцию 14 Eyes. По запросу суда данные могут быть переданы спецслужбам.
В России действует закон о хранении данных (ФЗ-242). Если вы предоставляете прокси третьим лицам, вас могут обязать хранить логи до 6 месяцев.
- Отсутствие kill switch
VPN-клиенты часто имеют функцию «kill switch» — отключение интернета при обрыве туннеля. У прокси такой защиты нет. При падении 3proxy весь трафик пойдёт напрямую.
Обход: настройте iptables, чтобы разрешить исходящие соединения только через localhost (если прокси локальный) или через конкретный IP (если удалённый).
Пример правила:
Блокируем всё, кроме трафика через прокси
sudo iptables -P OUTPUT DROP
sudo iptables -A OUTPUT -o lo -j ACCEPT
sudo iptables -A OUTPUT -m owner --uid-owner proxyuser -j ACCEPT
sudo iptables -A OUTPUT -p tcp --dport 1080 -d YOUR_PROXY_IP -j ACCEPT
Прокси vs VPN: когда что использовать?
| Критерий | Прокси | VPN |
|---|---|---|
| Шифрование | Нет (кроме HTTPS/SOCKS+SSH) | Да (AES-256, ChaCha20) |
| Защита от DPI | Нет | Да (особенно с obfs4, Shadowsocks) |
| Скорость | Выше (меньше накладных расходов) | Ниже (шифрование + маршрутизация) |
| Настройка | Проще | Сложнее |
| Универсальность | Только приложения с поддержкой | Весь системный трафик |
| Kill switch | Нет (требует ручной настройки) | Есть в большинстве клиентов |
| Стоимость VPS | От 200 ₽/мес | От 300 ₽/мес (но можно самому) |
Используйте прокси, если:
- Нужно обойти геоблокировку одного сервиса.
- Работаете с API, требующими фиксированный IP.
- Тестируете мобильные приложения.
Выбирайте VPN, если:
- Подключаетесь к публичному Wi-Fi.
- Скачиваете торренты.
- Боитесь слежки провайдера.
- Нужна защита всего устройства.
Защита от современных угроз: DPI и блокировки
Российские провайдеры активно используют DPI для блокировки «нежелательного» трафика. Простой прокси легко детектируется по сигнатурам.
Как обойти:
1. Используйте SSH-туннель:
bash
ssh -D 1080 -f -C -q -N user@your-server
Это создаёт зашифрованный SOCKS5-прокси через SSH. DPI видит только SSH-трафик.
-
Shadowsocks — специально создан для обхода цензуры в Китае, но эффективен и в РФ. Устанавливается на Linux, маскирует трафик под обычный HTTPS.
-
Stunnel — оборачивает любой TCP-трафик в TLS. Можно прокинуть 3proxy через него.
Пример stunnel-конфига (/etc/stunnel/stunnel.conf):
[proxy]
client = no
accept = 8443
connect = 127.0.0.1:3128
cert = /etc/ssl/certs/ssl-cert-snakeoil.pem
key = /etc/ssl/private/ssl-cert-snakeoil.key
Теперь клиент подключается к ваш_сервер:8443 по TLS, а stunnel передаёт трафик локальному 3proxy.
Проверка работоспособности и утечек
После установки обязательно протестируйте:
-
IP-адрес:
bash curl --proxy socks5://user:pass@localhost:1080 https://api.ipify.org -
DNS-утечка:
Используйте dnsleaktest.com через браузер с настроенным прокси. -
WebRTC:
Откройте browserleaks.com/webrtc — должен показывать IP прокси или «No leak». -
UDP-поддержка (для торрентов):
Запустите торрент-клиент с прокси и проверьте, есть ли входящие соединения.
Если хоть один тест провален — пересмотрите конфигурацию.
FAQ
Можно ли использовать прокси вместо VPN для торрентов?
Можно, но только SOCKS5 с поддержкой UDP и remote DNS. Однако без шифрования ваш провайдер видит объём и время трафика. В РФ это может привлечь внимание правообладателей. Лучше использовать VPN с no-log policy и kill switch.
Прокси замедляет интернет сильно?
Зависит от расположения сервера. Локальный прокси — почти без задержек. Удалённый в другой стране добавляет 30–100 мс пинга и снижает скорость на 10–30% из-за перенаправления. Шифрование (SSH/stunnel) добавляет ещё 5–15% потерь.
Будет ли виден мой настоящий IP, если прокси упадёт?
Да, если приложение не настроено на строгую работу через прокси. Большинство программ просто переключатся на прямое соединение. Чтобы этого избежать, используйте firewall (iptables/nftables) для блокировки всего трафика, кроме прокси.
Чем SOCKS5 лучше HTTP-прокси?
SOCKS5 работает на более низком уровне и поддерживает любые протоколы, включая UDP. HTTP-прокси понимает только HTTP/HTTPS и не подходит для торрентов, игр или VoIP. Кроме того, SOCKS5 может передавать DNS-запросы через сервер, предотвращая утечки.
Нужно ли обновлять прокси-сервер?
Да. Уязвимости в прокси-ПО (например, в Squid) регулярно находят. Используйте только актуальные версии. Лучше собирать из исходников (как 3proxy), чем ставить из старых репозиториев.
Можно ли поставить прокси на Raspberry Pi?
Абсолютно. 3proxy или Dante отлично работают на RPi 3/4. Это дешёвый способ создать домашний прокси для всей сети. Настройте его как шлюз и направьте трафик через него с помощью iptables на роутере (OpenWrt, Keenetic).
Вывод
установка прокси сервера на linux — технически простая задача, но её безопасность зависит от десятков нюансов, которые игнорируют большинство авторов. Прокси не даёт анонимности, не шифрует трафик и не защищает от утечек по умолчанию. Чтобы получить реальную пользу, нужно:
- Выбирать SOCKS5 с авторизацией.
- Принудительно направлять DNS через прокси.
- Шифровать канал (SSH/stunnel), если сервер удалённый.
- Блокировать прямой трафик через firewall.
- Регулярно тестировать на утечки.
Если ваша цель — защита в публичных сетях или обход DPI, рассмотрите полноценный VPN с открытым исходным кодом (WireGuard, OpenVPN) и независимыми аудитами. Прокси — инструмент узкого назначения. Используйте его осознанно, а не как «волшебную таблетку» от слежки.
Nice overview; the section on withdrawal timeframes is straight to the point. The checklist format makes it easy to verify the key points.