Прокси-серверы используются уже много лет. Прокси-сервер — это метод подключения к веб-сайту или сервису через другой сервер. В данном руководстве мы будем использовать KVM NVMe VDS/VPS для настройки прокси-сервера Dante SOCKS5 в операционной системе Linux Ubuntu.

Существуют разные типы прокси-серверов. Например, HTTP-прокси-серверы, такие как Squid, были популярны до широкого распространения HTTPS. В отличие от них, SOCKS-прокси пересылают TCP- и UDP-пакеты, а также позволяют настроить аутентификацию пользователей.

По умолчанию Dante слушает порт 1080, но мы будем использовать пользовательский порт для нашего прокси-сервера.

Требования к серверу

Для работы прокси-сервера Dante на Linux не требуется мощный сервер. Достаточно:

  • 1 ядро процессора
  • 20 ГБ свободного пространства на диске
  • 1 ГБ оперативной памяти

В руководстве рассматривается установка на Ubuntu 22.04, но оно также подходит для Ubuntu 20.04, 18.04 и 16.04.

Обновление сервера

Перед установкой убедитесь, что ваш сервер обновлен:

apt update
apt upgrade

Установка Dante

apt install dante-server

После установки Dante может не запуститься из-за отсутствия конфигурации. Далее разберем ее настройку.

Настройка Dante в Ubuntu

Файл конфигурации Dante находится в `/etc/danted.conf`. Для начала сделаем резервную копию:

mv /etc/danted.conf /etc/danted-org.conf

Создадим новый файл `/etc/danted.conf` и вставим следующий код:

internal: 178.xx.xx.xxx port = 1439
external: 178.xx.xx.xxx

clientmethod: none
socksmethod: none
user.privileged: root
user.notprivileged: nobody
external.rotation: same-same
logoutput: /var/log/socks.log

client pass {
        from: 0.0.0.0/32 to: 0.0.0.0/0
        log: error connect disconnect
}
client block {
        from: 0.0.0.0/0 to: 0.0.0.0/0
        log: connect error
}
socks pass {
        from: 0.0.0.0/0 to: 0.0.0.0/0
        log: error connect disconnect
}
socks block {
        from: 0.0.0.0/0 to: 0.0.0.0/0
        log: connect error
}

Замена IP-адресов

Замените `178.xx.xx.xxx` на основной IP-адрес вашего прокси-сервера. Если у вас есть несколько IP-адресов, добавьте их в конфигурацию:

internal: 179.xx.xx.xxx port = 1439
external: 176.xx.xx.xxx

internal: 180.xx.xx.xxx port = 1439
external: 178.xx.xx.xxx

internal: 181.xx.xx.xxx port = 1439
external: 179.xx.xx.xxx

Ограничение доступа к прокси-серверу SOCKS5

Доступ только с определенного IP-адреса

Если вы хотите разрешить доступ только с определенного IP-адреса, укажите его в конфигурации:

client pass {
        from: xx.xxx.xxx.xxx/32 to: 0.0.0.0/0
        log: error connect disconnect
}

Доступ для диапазона IP-адресов (подсеть /29)

client pass {
        from: xx.xxx.xxx.xxx/29 to: 0.0.0.0/0
        log: error connect disconnect
}

Важно! В данной статье не рассматривается настройка аутентификации пользователей, но Dante поддерживает авторизацию.

Перезапуск Dante

После настройки перезапустите сервис и включите его автозапуск:

systemctl restart danted
systemctl enable danted

Теперь ваш прокси-сервер SOCKS5 работает и доступен только для разрешенных IP-адресов.