Прокси в Ubuntu
Ubuntu — это рабочий инструмент. Прокси в Linux — не про “приватность в интернете”, а про контроль трафика и архитектуру сети.
Коротко: запрос идёт не напрямую, а через прокси-сервер. Трафик → прокси → цель. На этом промежуточном звене можно фильтровать, перенаправлять, заменять заголовки.
Нужно это для трёх вещей:
- маскировки реального IP
- обхода гео-блоков
- централизованной работы с множеством IP
Forward против Reverse
Путаница возникает постоянно.
Forward proxy — вы прокидываете свой трафик через сервер. Клиентская сторона.
Reverse proxy — сервер принимает запросы и распределяет по бэкендам. Серверная сторона (Nginx, HAProxy в этой категории).
Эта статья — про forward proxy. Клиент → прокси → интернет.
HTTP или SOCKS5
HTTP прокси
Работает с веб-трафиком. Браузеры, API, курл-запросы. Понимает HTTP/HTTPS протокол, умеет смотреть заголовки и кэшировать ответы.
Для чего: парсинг, автоматизация веб-сайтов, тестирование API.
SOCKS5
Прокси более низкого уровня. Не разбирается в протоколах — просто пересылает пакеты. Работает с чем угодно: игры, торрент-клиенты, DNS-запросы, телеграм.
Гибче, чем HTTP, но медленнее из-за универсальности.
| HTTP | SOCKS5 | |
|---|---|---|
| Протоколы | HTTP/HTTPS | Любой |
| Скорость | Выше на вебе | Ниже |
| Случаи | Браузеры, скраперы, API | Игры, торренты, софт |
| Уровень | Прикладной | Транспортный |
| Обход NAT | Нет | Да |
Подготовка
Ubuntu установлен, терминал доступен (Ctrl + Alt + T).
sudo apt update
sudo apt upgrade
Проверка интернета:
ping google.com
Данные для работы:
- хост (IP или домен)
- порт
- логин/пароль
HTTP прокси через CLI
Самый быстрый способ. Временная настройка:
export http_proxy="http://username:password@proxy-server:port"
export https_proxy="http://username:password@proxy-server:port"
Проверка:
curl ifconfig.me
Если IP прокси — значит заработало.
Чтобы не вводить каждый раз, добавьте в ~/.bashrc:
nano ~/.bashrc
export http_proxy="http://username:password@proxy-server:port"
export https_proxy="http://username:password@proxy-server:port"
Применить:
source ~/.bashrc
Отключение:
unset http_proxy
unset https_proxy
Squid: HTTP прокси-сервер
Когда нужно больше, чем просто переменные окружения — кэширование, логирование, контроль доступа — используют Squid.
Установка:
sudo apt update
sudo apt install squid
Конфиг лежит в /etc/squid/squid.conf. Базовая настройка:
sudo nano /etc/squid/squid.conf
Убедитесь, что порт открыт:
http_port 3128
Для быстрого старта (не для продакшена):
acl all src 0.0.0.0/0
http_access allow all
Запуск:
sudo systemctl start squid
sudo systemctl enable squid
Проверка:
curl -x http://localhost:3128 http://ifconfig.me
SOCKS5 в Ubuntu
Переменные окружения с SOCKS5 не работают. Нужен отдельный слой.
SSH туннель
Если есть доступ по SSH к удалённой машине:
ssh -D 1080 user@remote-server-ip
SOCKS5 будет слушать на localhost:1080.
Проверка:
curl --socks5 localhost:1080 ifconfig.me
Proxychains
Прокидывает любой бинарный файл через SOCKS5.
Установка:
sudo apt update
sudo apt install proxychains
Конфиг:
sudo nano /etc/proxychains.conf
В конец добавьте строку:
socks5 username password proxy-server port
Использование:
proxychains curl ifconfig.me
proxychains apt update
Dante для SOCKS5
Squid не умеет SOCKS5. Для этого есть Dante.
Установка:
sudo apt update
sudo apt install dante-server
Конфиг /etc/danted.conf:
sudo nano /etc/danted.conf
Минимальный рабочий вариант:
logoutput: syslog
internal: [server-ip] port = [port]
external: [server-ip]
method: username none
client pass {
from: 0.0.0.0/0 to: 0.0.0.0/0
}
socks pass {
from: 0.0.0.0/0 to: 0.0.0.0/0
}
Запуск:
sudo systemctl start danted
sudo systemctl enable danted
Проверка:
curl --socks5 [server-ip]:[port] ifconfig.me
Кратко
- HTTP прокси — для веба. Быстро, просто, встроено в Ubuntu через переменные окружения.
- SOCKS5 — универсальный. Нужен proxychains или отдельный сервер (Dante).
- Squid — мощный HTTP сервер с кэшем и логами.
Не забывайте проверять, куда уходит трафик. curl ifconfig.me не врёт.
Готовы протестировать с реальными IP?
Зарегистрируйтесь сейчас, чтобы получить мгновенный доступ к нашим прокси-пулам.