Добавить в корзинуПозвонить
Найти в Дзене

Настраиваем SOCKS прокси-сервер Dante

Dante – мощный и гибкий SOCKS прокси-сервер, который достаточно прост в настройке и присутствует в репозиториях основных систем. Для чего нужен прокси-сервер рассказывать не надо, в первую очередь это контроль исходящего трафика пользователей вашей локальной сети. Тем более что Dante предоставляет обширный инструментарий управления трафиком. Установку мы будем производить в среде Ubuntu 24.02 LTS apt update apt install dante-server После установки откроем файл /etc/danted.conf и приведем его к следующему виду: logoutput: stdout internal: 0.0.0.0 port = 1080 external: eth0 socksmethod: username clientmethod: none user.privileged: root user.unprivileged: nobody user.libwrap: nobody client pass { 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: connect error } Это минимальная рабочая конфигурация. Коротко пройдем по опциям. Сначала мы перенаправляем лог в стандартный поток вывода, это может показаться странным, но в этом случае мы во

Настраиваем SOCKS прокси-сервер Dante

Dante – мощный и гибкий SOCKS прокси-сервер, который достаточно прост в настройке и присутствует в репозиториях основных систем.

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

Установку мы будем производить в среде Ubuntu 24.02 LTS

apt update

apt install dante-server

После установки откроем файл /etc/danted.conf и приведем его к следующему виду:

logoutput: stdout

internal: 0.0.0.0 port = 1080

external: eth0

socksmethod: username

clientmethod: none

user.privileged: root

user.unprivileged: nobody

user.libwrap: nobody

client pass {

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: connect error

}

Это минимальная рабочая конфигурация. Коротко пройдем по опциям. Сначала мы перенаправляем лог в стандартный поток вывода, это может показаться странным, но в этом случае мы воспользуемся стандартной возможностью логирования systemd и не будем дублировать лог в файлы, это особенно полезно если вы запускаете Dante на слабой VPS или в контейнере.

Опция internal обозначает, где и как вы принимаете входящие соединения, можете указать IP-адрес или интерфейс. В нашем случае мы слушаем на всех адресах узла. Опция external указывает адрес или интерфейс, через который соединения выпускаем наружу.

Для аутентификации пользователей выбираем socksmethod: username, это включит стандартную аутентификацию по логину и паролю.

Секция client pass отвечает за правила подключения клиентов к серверу, а socks pass за прохождение трафика через сервер. В нашем случае разрешен трафик от любого узла к любому узлу. Но мы можем изменить такое поведение. Например:

client pass {

from: 192.168.0.0/24 to: 0.0.0.0/0

log: connect error

}

client block {

from: 0.0.0.0/0 to: 0.0.0.0/0

log: connect error

}

Разрешит выход через сервер только клиентам локальной сети 192.168.0.0/24 и запретит всем остальным.

А конструкция

socks block {

from: 0.0.0.0/0 to: vk.com

log: connect error

}

socks pass {

from: 0.0.0.0/0 to: 0.0.0.0/0

log: connect error

}

Запретит доступ к vk.com, но разрешит к любым другим узлам. При создании подобных блоков следует учитывать, что правила работают по порядку следования, до первого срабатывания.

Также можем ограничить используемые клиентами протоколы и порты назначения:

socks pass {

from: 0.0.0.0/0 to: 0.0.0.0/0 port = 80

protocol: tcp

log: connect error

}

socks pass {

from: 0.0.0.0/0 to: 0.0.0.0/0 port = 443

protocol: tcp

log: connect error

}

socks block {

from: 0.0.0.0/0 to: 0.0.0.0/0

log: connect error

}

В общем, возможности весьма широкие и большее количество информации вы можете почерпнуть в официальной документации: https://www.inet.no/dante/doc/latest/config/index.html

Осталось добавить пользователя:

useradd -N -M -s /sbin/nologin dante

И установить ему пароль:

passwd dante

Для управления службой используйте:

systemctl start|stop|restart|status danted

Наш прокси сервер готов, можете подключаться.