Настройка Proxy/VPN сервера (Часть вторая SOCKS5)

Оцените статью

Продолжаем развлекаться настройкой моего Proxy/VPN проекта и в прошлом цикле заметок прошлись по многим аспектам и даже настроили HTTP-сервер на базе Squid и теперь мы плавно пришли к настройке SOCKS5 с авторизацией.

Фактически у нас все готово и есть LXC-контейнер для SOCKS-прокси.

# lxc ls
+----------------+---------+-------------------+------+-----------+-----------+
|      NAME      |  STATE  |       IPV4        | IPV6 |   TYPE    | SNAPSHOTS |
+----------------+---------+-------------------+------+-----------+-----------+
| srv-lxc-socks5 | RUNNING | 10.101.5.3 (eth0) |      | CONTAINER | 0         |
+----------------+---------+-------------------+------+-----------+-----------+
| srv-lxc-squid  | RUNNING | 10.101.5.2 (eth0) |      | CONTAINER | 0         |
+----------------+---------+-------------------+------+-----------+-----------+

Настройка LXC-контейнера проходит аналогично версии с HTTP-прокси и повторяться не будем.

Установка SOCKS5-прокси сервера Dante

Установка стандартная из пакета.

# aptitude install dante-server

Активируем, запускаем и переходим к настройке.

# systemctl enable danted
# systemctl start danted

Настройка SOCKS5-прокси сервера Danted

Конфигурационный файл /etc/danted.conf и мы обработаем его аналогично как сделали со squid.

# cp /etc/danted.conf /etc/danted.conf.source
# cat /etc/danted.conf.source | grep -v "^#" | grep -v "^$" > /etc/danted.conf

Файл конфигурации конечно очень интересный, но не работающий.

logoutput: stderr
user.privileged: proxy
user.unprivileged: nobody
user.libwrap: nobody

Минимальная конфигурация для подключения без авторизации откуда угодно выглядит так.

logoutput: syslog
user.privileged: proxy
user.unprivileged: nobody
user.libwrap: nobody

internal: eth0 port = 11087
external: eth0

socksmethod: none
clientmethod: none

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

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

Проверяем, что все работает.

$ curl --socks5 10.101.5.3:11087 http://check-host.net/ip
92.246.129.81

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

  • Устанавливаем — socksmethod: username
  • В socks pass добавляем ограничение для группы — group: socks
  • Меняем группу — user.privileged: root

Создаем пользователя и группу, добавляем пользователя в группу.

# useradd chernousov
# passwd chernousov
# groupadd socks
# usermod -aG socks chernousov

Перезапускаем сервис и пробуем с авторизацией, без авторизации и с неверным паролем.

$ curl --socks5 10.101.5.3:11087 http://check-host.net/ip
curl: (97) No authentication method was acceptable.
$ curl --socks5 chernousov:RealPassword@10.101.5.3:11087 http://check-host.net/ip
92.246.129.81
$ curl --socks5 chernousov:WrongPassword@10.101.5.3:11087 http://check-host.net/ip
curl: (97) User was rejected by the SOCKS5 server (1 1).

Все работает, далее прописываем правило в Firewall и радуемся.

Похожие записи

Настройка кластера Kubernetes в Ubuntu Linux 24.04: три узла (один мастер с возможностью запуска пользовательских подов, PVC в каталоге на хосте, сеть на Calico)

В этой статье мы рассмотрим пошаговую настройку кластера Kubernetes на Ubuntu 24.04 с тремя узлами: один мастер (который также может запускать пользовательские поды) и два рабочих узла. Мы настроим PersistentVolume…

Инструкция по установке и настройке ProxySQL в Ubuntu 24.04

В рамках создания собственного кластера Kubernetes я поднаял кластер Mysql который работает в режиме Master-Slave и Slave-узлы соответственно работают в режиме read-only, а мастер в read-write. Соответственно мне нужен балансировщик…

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Читать еще статьи

Настройка кластера Kubernetes в Ubuntu Linux 24.04: три узла (один мастер с возможностью запуска пользовательских подов, PVC в каталоге на хосте, сеть на Calico)

Настройка кластера Kubernetes в Ubuntu Linux 24.04: три узла (один мастер с возможностью запуска пользовательских подов, PVC в каталоге на хосте, сеть на Calico)

Инструкция по установке и настройке ProxySQL в Ubuntu 24.04

Инструкция по установке и настройке ProxySQL в Ubuntu 24.04

Полное руководство по настройке UFW в Ubuntu: от основ до продвинутых правил

Полное руководство по настройке UFW в Ubuntu: от основ до продвинутых правил

Полное руководство по развертыванию GlusterFS в Ubuntu Linux: от подготовки до тестирования производительности

Полное руководство по развертыванию GlusterFS в Ubuntu Linux: от подготовки до тестирования производительности

Подробная инструкция по настройке кластера из трёх серверов MySQL на Ubuntu 24.04

Подробная инструкция по настройке кластера из трёх серверов MySQL на Ubuntu 24.04

Полное руководство по настройке NFS-клиента в Ubuntu Linux: от установки до автоматического монтирования

Полное руководство по настройке NFS-клиента в Ubuntu Linux: от установки до автоматического монтирования