Как настроить SOCKS5-прокси на Linux через Dante — полный гайд | SecureFlow

Как настроить SOCKS5-прокси на Linux через Dante — полный гайд

Постер статьи

Содержание

Введение в настройку SOCKS5-прокси с Dante на Linux

Нужно скрыть свой IP-адрес, безопасно проксировать трафик или настроить удалённый доступ через другой сервер? Один из самых универсальных и надёжных способов — использовать SOCKS5-прокси.

В этом руководстве вы узнаете, как установить и настроить Dante — стабильный и быстрый SOCKS5-прокси-сервер на Linux с поддержкой аутентификации и фильтрации.

Подходит для: Ubuntu, Debian, CentOS, RedOS, ALT Linux и других дистрибутивов

Что такое Dante и как работает SOCKS5-прокси

Что такое SOCKS5-прокси

SOCKS5 — это прокси-протокол, позволяющий перенаправлять любые типы TCP/UDP-соединений, включая HTTP, FTP, SSH, P2P и игровые клиенты. В отличие от HTTP-прокси, SOCKS5 работает на более низком уровне, обеспечивая большую гибкость и совместимость.

Что такое Dante

Dante — это открытое и надёжное решение для развертывания собственного SOCKS5-прокси на Linux. Разрабатывается норвежской компанией Inferno Nettverk, активно используется в корпоративной и личной инфраструктуре.

Преимущества Dante:

  • Поддержка протоколов SOCKS5 и SOCKS4
  • Аутентификация по логину/паролю
  • Контроль доступа по IP-адресам
  • Поддержка IPv4 и IPv6
  • Высокая производительность и стабильность

Что понадобится для настройки SOCKS5-прокси

  • VPS или выделенный сервер на Linux
  • Root-доступ (sudo)
  • Открытый порт (по умолчанию 1080)
  • Терпение и желание разобраться

Совет: Подбираете VPS? Обратите внимание на AdminVPS — надёжный провайдер с хорошей скоростью и низкой латентностью.

Как установить Dante SOCKS5-прокси на Linux

Команды установки различаются в зависимости от дистрибутива.

Ubuntu / Debian

sudo apt update && sudo apt install -y dante-server

CentOS

sudo dnf install -y epel-release
sudo dnf update && sudo dnf install -y dante-server

ALT Linux

sudo apt-get update && sudo apt-get install -y dante-server

RedOS

sudo dnf update && sudo dnf install -y dante-server

Полная настройка SOCKS5-сервера Dante на Linux

Где находится конфигурационный файл Dante

Конфигурационный файл может называться по-разному в зависимости от дистрибутива:

  • /etc/danted.conf — для Ubuntu/Debian
  • /etc/sockd.conf — для CentOS/RedOS/ALT Linux

Открой файл в любом текстовом редакторе:

sudo nano /etc/danted.conf # Ubuntu / Debian
sudo nano /etc/sockd.conf # CentOS / RedOS / ALT Linux

Пример конфигурации Dante SOCKS5

Вот пример конфигурации для создания простого SOCKS5-прокси с авторизацией по логину и паролю:

internal: 0.0.0.0 port = 1080
external: eth0

socksmethod: username

user.notprivileged: nobody

client pass {
    from: 0.0.0.0/0 to: 0.0.0.0/0
    socksmethod: username
}

socks pass {
    from: 0.0.0.0/0 to: 0.0.0.0/0
    command: connect
    socksmethod: username
}

Объяснение конфигурационного файла

Разберём по строкам конфигурационный файл dante.conf, используемый для настройки SOCKS5-прокси-сервера на базе Dante. Этот разбор подойдёт как новичкам, так и опытным системным администраторам. Важно понимать, что каждая строка определяет поведение и безопасность вашего прокси-сервера.

Основные параметры подключения

  • internal: 0.0.0.0 port = 1080
    Этот параметр указывает, что прокси-сервер слушает входящие SOCKS5-подключения на всех интерфейсах (0.0.0.0) и на порту 1080 — это стандартный порт для протокола SOCKS5.
  • external: eth0
    Указывает сетевой интерфейс для исходящих соединений, через который трафик будет выходить в интернет. Здесь используется интерфейс eth0, но он может быть другим в вашей системе (например, ens33, wlan0 и т.д.). Чтобы узнать свой интерфейс, можно использовать команду ip a.

Аутентификация и безопасность

  • socksmethod: username
    Определяет метод аутентификации для клиентов, подключающихся по SOCKS5. Метод username требует от клиента указания логина и пароля. Это повышает безопасность, так как прокси не будет открыт для всех подряд.
  • user.notprivileged: nobody
    После запуска, процесс sockd (демон Dante) сбрасывает привилегии и работает от имени непривилегированного пользователя nobody. Это снижает риски при наличии уязвимостей в прокси — злоумышленник не сможет выполнить критически важные действия от имени root.

Правило доступа: client

client pass { ... } — доступ клиентов к прокси. Этот блок отвечает за разрешение подключений до этапа SOCKS-аутентификации.

client pass {
    from: 0.0.0.0/0 to: 0.0.0.0/0
    socksmethod: username
}
  • from: 0.0.0.0/0 to: 0.0.0.0/0 — Разрешает подключения от любых клиентов (всех IP) к любому IP на стороне сервера.
  • socksmethod: username — Только клиенты с правильными логином и паролем смогут подключиться. Остальным будет отказано.

Правило доступа: socks

socks pass { ... } — правила для проксируемого трафика. Этот блок определяет, какие действия разрешены уже после успешной аутентификации.

socks pass {
    from: 0.0.0.0/0 to: 0.0.0.0/0
    command: connect
    socksmethod: username
}
  • from: 0.0.0.0/0 to: 0.0.0.0/0 — Разрешено подключение от любых IP-адресов к любым внешним адресам.
  • command: connect — Разрешена только команда CONNECT, то есть только TCP-туннелирование. Другие команды, такие как BIND или UDP ASSOCIATE, блокируются, что улучшает контроль над трафиком.
  • socksmethod: username — Уточняется, что правило работает только для аутентифицированных клиентов.

Добавление пользователя для подключения к SOCKS5

Создай системного пользователя без доступа к оболочке:

sudo useradd -M -s /usr/sbin/nologin proxyuser
sudo passwd proxyuser

Имя и пароль этого пользователя будут использоваться для подключения к вашему SOCKS5-прокси.

Запуск и автозапуск прокси-сервера Dante

Включение и запуск сервиса

Ubuntu / Debian

sudo systemctl enable --now danted

CentOS / RedOS / ALT Linux

sudo systemctl enable --now sockd

Проверка статуса

Ubuntu / Debian

sudo systemctl status danted

CentOS / RedOS / ALT Linux

sudo systemctl status sockd

В случае успеха вы должны увидеть:

Active: active (running)

Частые ошибки при настройке Dante SOCKS5

Ошибка Возможная причина Как исправить
Прокси не запускается Указан несуществующий external интерфейс Проверь командой ip a, укажи актуальный, например ens33
Аутентификация не работает Не задан socksmethod Убедись, что строка socksmethod: username указана и в client, и в socks блоках
Нет подключения к порту 1080 Порт заблокирован фаерволом Разреши порт: ufw allow 1080/tcp или sudo firewall-cmd --add-port=1080/tcp --permanent
Ошибка авторизации Пользователь не создан Создай пользователя: useradd -M -s /usr/sbin/nologin

Заключение

Теперь у вас есть рабочий и безопасный SOCKS5-прокси на базе Dante, который можно использовать для:

  • Сокрытия IP-адреса
  • Проксификации любого TCP-трафика
  • Обхода блокировок
  • Анонимного серфинга или работы с ботами

Dante — это простое и надёжное решение, идеально подходящее для настройки собственного прокси-сервера на Linux.

Хотите больше гайдов по Linux, DevOps и безопасности? Подписывайтесь на наш Telegram-канал