SOCKS-proxy Dante — различия между версиями

Материал из megapuper
Перейти к: навигация, поиск
 
(не показаны 3 промежуточные версии этого же участника)
Строка 1: Строка 1:
https://habr.com/post/354274/
+
Ставим на Debian 12 (В Debian 13 нет в репе, если ставить из пакета не работает pam авторизация, разбираться было лень)
  
apt install dante-server
+
Ставим сервер
 +
apt install dante-server
  
 +
 +
Авторизацию сделаем по файлу паролей, потому подготовимся
 +
apt install libpam-pwdfile
 +
 +
Создадим /etc/pam.d/sockd с содержимым
 +
auth required pam_pwdfile.so pwdfile /etc/sockd.passwd
 +
account required pam_permit.so
 +
где /etc/sockd.passwd файл с паролями
 +
 +
 +
Файл с паролями имеет формат - имя пользователя : шифрованный пароль
 +
User:$1$1bhzkYnM$cfYSzS9Vx17AypWYAnn
 +
 +
 +
Создадим пароль
 +
mkpasswd --method=md5 Password
 +
 +
 +
Готовим простенький конфиг
 
  internal: 0.0.0.0 port = 1080
 
  internal: 0.0.0.0 port = 1080
 
  external: 185.21.x.x
 
  external: 185.21.x.x
 
   
 
   
 
  clientmethod: none
 
  clientmethod: none
  socksmethod: username
+
  socksmethod: pam.username
 
  user.privileged: root
 
  user.privileged: root
 
  user.notprivileged: nobody
 
  user.notprivileged: nobody
Строка 21: Строка 41:
 
  }
 
  }
  
Modify Dante configuration file to enable logging, here for errors and debug:<br>
 
In case you are receiving errors after configuring log sinks for danted service, like:
 
alert: configparsing(): could not (re)open logfile "/var/log/socks.log": Read-only file system
 
  
stop service
+
Правим systemd-unit иначе будет ошибка <code>alert: configparsing(): could not (re)open logfile "/var/log/danted/socks.log": Read-only file system</code>
edit service config:
+
  после
vim /lib/systemd/system/danted.service
 
  add entry to allow writing to /var/log/ directory:
 
 
  InaccessibleDirectories=...
 
  InaccessibleDirectories=...
 
  ReadOnlyDirectories=...
 
  ReadOnlyDirectories=...
 +
добавим строчку
 
  ReadWriteDirectories=/var/log
 
  ReadWriteDirectories=/var/log
+
 
reload service:
+
 
 +
Перезапускаем и проверяем
 
  systemctl daemon-reload
 
  systemctl daemon-reload
  service danted restart
+
  systemctl restart danted.service

Текущая версия на 17:07, 11 марта 2026

Ставим на Debian 12 (В Debian 13 нет в репе, если ставить из пакета не работает pam авторизация, разбираться было лень)

Ставим сервер

apt install dante-server


Авторизацию сделаем по файлу паролей, потому подготовимся

apt install libpam-pwdfile

Создадим /etc/pam.d/sockd с содержимым

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

где /etc/sockd.passwd файл с паролями


Файл с паролями имеет формат - имя пользователя : шифрованный пароль

User:$1$1bhzkYnM$cfYSzS9Vx17AypWYAnn


Создадим пароль

mkpasswd --method=md5 Password


Готовим простенький конфиг

internal: 0.0.0.0 port = 1080
external: 185.21.x.x

clientmethod: none
socksmethod: pam.username
user.privileged: root
user.notprivileged: nobody
errorlog: /var/log/danted/sockd.errlog
logoutput: /var/log/danted/socksd.log

client pass {
     from: 0.0.0.0/0 to: 0.0.0.0/0
}

socks pass {
     from: 0.0.0.0/0 to: 0.0.0.0/0
}


Правим systemd-unit иначе будет ошибка alert: configparsing(): could not (re)open logfile "/var/log/danted/socks.log": Read-only file system

после
InaccessibleDirectories=...
ReadOnlyDirectories=...
добавим строчку
ReadWriteDirectories=/var/log


Перезапускаем и проверяем

systemctl daemon-reload
systemctl restart danted.service