Title: danted, настройка
Author: Viva Calman
Date: 2021-11-25 23:56:44
Correction code: 163787562263398

Просто небольшая заметка для себя на будущее, как настроить SOCKS-прокси-сервер danted для домашней сеточки, с минимальной защитой (предполагается, что в сети все машины доверенные)

Первым делом danted нужно поставить. В репозитории дебиана (а также распбиана) он есть. Дополнительно потребуется libpam-pwdfile

sudo apt install danted libpam-pwdfile

Можно так же поставить набор утилит, в котором лежит htpasswd, но обычно оно у меня и так установлено.

Далее, так как мне нужна авторизация не через системных пользователей, а через пользователей, хранящихся в pwd-файле, нужно сделать вот такой файл:

cat /etc/pam.d/sockd

auth required pam_pwdfile.so pwdfile /etc/sockd.passwd
account required pam_permit.so

И, собственно, сделать конфиг.

# Куда падают ошибки и логи
logoutput: stderr
# Внутренний интерфейс и порт. К нему коннектятся клиенты
internal: enp1s0 port = 1080
# Интерфейс, куда отправляются пришедшие на проксю пакеты
external: wg0
# Авторизация через PAM
socksmethod:  pam.username
# От кого запускаем демона
user.privileged: proxy
user.unprivileged: nobody
user.libwrap: nobody
# Собственно, настройки проксирования. Тут можно поколдовать, 
# но мне не нужно, оставляю все в примитивном варианте
client pass {
        from: 0/0 to: 0/0
        log: error connect disconnect ioop
}

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

Из неприятного, заметил, что почему-то systemd, будь оно не ладно, не подхватывает демона в автозагрузку, если просто сказать

systemctl enable danted

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

^HOME