Настройка 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 и радуемся.

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

Настройка окружения для работы с контейнеризацией в РЕД ОС/Centos

Давайте рассмотрим настройку окружения для контеризации приложений в RedOS 8 и Centos 8. Что подразуумеватся под окружением? Я вкладываю в это понятие набор графических и консолных утилит для удобной работы…

Добавление резервного контроллера домена РЕД АДМ

В прошлой статье мы рассмотрели настройку контроллера домена РЕД АДМ, а сейгодня мы доделаем базовую инфраструктуру РЕД АДМ добавив резерный контроллер домена на случай сбоя основого. Настраиваем зону условной пересылки…

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

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

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

Интересные и курьезные факты из сферы информационных технологий

Интересные и курьезные факты из сферы информационных технологий

Настройка окружения для работы с контейнеризацией в РЕД ОС/Centos

Настройка окружения для работы с контейнеризацией в РЕД ОС/Centos

Добавление резервного контроллера домена РЕД АДМ

Добавление резервного контроллера домена РЕД АДМ

Установка и настройка Keycloak в CentOS 8

Установка и настройка Keycloak в CentOS 8

Интеграция Gitea и Active Directory

Интеграция Gitea и Active Directory

Назначение операций на дополнительные кнопки мыши (Linux Wayland)

Назначение операций на дополнительные кнопки мыши (Linux Wayland)