Dante - установка и настройка SOCKS прокси-сервера.

dante proxy server

Сегодня я опишу процесс установки и настройки SOCKS прокси-сервера Dante в Ubuntu Server 16.04. Собирать и устанавливать прокси-сервер буду из исходников, потому что в системных репозиториях Ubuntu отсутствует last-версия с нужными плюшками.

Я полагаю что у вас уже есть VPS/VDS сервер расположенный за рубежом или вы его вот-вот заведете. Если у вас совсем туго с финансами, то есть вариант за 1 евро в месяц, но с лимитированным в 2 ТБ месячным объемом трафика (ссылку не даю, ибо там нет партнерки, а за бесплатно рекламу не делаю, кто гуглит - тот всегда найдет).

Установка Dante

Поскольку Dante будет собираться из исходников, то прежде установим необходимый для сборки набор софта и библиотек.

Создадим каталог для дальнейшей работы и сразу перейдем в него.

Скачиваем исходники последней версии Dante с официального сайта.

Распаковываем архив с исходниками и переходим в распакованный каталог.

Задаем конфигурацию сборки. При желании можно изменить каталог для установки.

В конце должно быть что-то похожее на это:

Это минимальная конфигурация необходимая для работы прокси-сервера. На модули не обращаем внимания, они платные и не нужны для обычной работы.

Компилируем исходники.

Устанавливаем собранный сервер. Обратите внимание что я делаю это с помощью checkinstall, а не make install, сервер будет установлен в виде deb пакета.

По завершению установки будет создан deb пакет (dante_1.4.2-1_amd64.deb), который в любое время можно установить на другую машину, но уже без предварительной конфигурации и сборки.

Удалить установленный пакет можно с помощью пакетного менеджера dpkg.

На всякий случай проверим установку и работоспособность сервера.

Конфигурационный файл сервера

Напишем минимальный конфигурационный файл. Он должен находиться в каталоге /etc и называться sockd.conf.

Подробный разбор всех опций конфигурационного файла приводится на странице описывающей конфигурацию сервера. Я приведу минимальную конфигурацию которая работает везде.

Содержимое конфигурационного файла.

Обратить внимание стоит на следующие позиции:

  • internal - входной сетевой интерфейс
  • external - выходной сетевой интерфейс
  • port - порт на котором работает прокси-сервер
  • socksmethod - метод аутентификации пользователя (username - доступ по имени пользователя и паролю)

Обязательно измените internal и external и впишите имя своего сетевого интерфейса. У меня он называется enp0s3, у вас может называться по другому. При необходимости можно изменить значение рабочего порта.

Способ аутентификации изменять не стоит. Вы же не хотите чтобы вашим сервером пользовались все подряд?

Автозапуск сервера

Напишем скрипт который будет запускать сервер при загрузке системы. Скрипт должен располагаться в каталоге /etc/init.d/ и называться sockd.

Содержимое скрипта sockd.

Сделаем скрипт исполняемым.

Перечитаем всех демонов.

Добавим sockd в автозапуск и запустим его.

Проверим.

Теперь прокси-сервером можно управлять с помощью стандартных systemctl команд.

Создание пользователей для прокси-сервера

Осталось создать пользователя от имени которого будем подключаться к серверу. Создаем обычного системного пользователя (username заменить на нужное имя).

Зададим пароль для пользователя и подтвердим его.

С помощью этого пользователя, точнее его логина и пароля, можно подключаться к прокси-серверу. Таких пользователей может быть создано сколько угодно. Например, если захотите дать доступ к серверу кому-то из друзей или знакомых.

Чтобы сервер не разжирался оперативной памятью будем перезапускать его каждые сутки ровно в 23:55. Добавим задание в cron.

На этом все. Благодарю за внимание.