Я пытался настроить прокси-сервер SOCKS на Linux с помощью danted. У меня прокси-сервер отлично работает без аутентификации, но когда я пытаюсь добавить аутентификацию с обоими method: username
и method: pam
Я не могу войти в систему с указанным мной именем пользователя или паролем.
Когда используешь method: pam
это конфигурация, которую я использую
logoutput: stderr /var/log/danted.log
/#Interfaces for listening on
internal: eth0 port=1080 #AP external interface
internal: eth0 port=53
external: eth0 #interface on AODV network
/#Auth Method
method: pam
user.privileged: root
user.notprivileged: nobody
user.libwrap: nobody
client pass {
from: 0.0.0.0/0 to: 0.0.0.0/0
log: error
}
/#Allow any connection
pass {
from: 0.0.0.0/0 to: 0.0.0.0/0
command: connect udpassociate
protocol: udp tcp
log: error
method: pam
pamservicename: sockd
}
Но когда я бегу danted -d
Ошибка аутентификации из-за неверного имени пользователя и пароля. Моя конфигурация Pam
auth required pam_pwdfile.so pwdfile /etc/danted/sockd.passwd
account required pam_permit.so
а имена пользователей и пароли создаются с htpasswd -d
заставить crypt ().
Я также пробовал это с method: username
и у меня такая же проблема с system password userauthentication failed
. Я тестирую их с помощью средства проверки прокси-сервера прокси, и они всегда возвращают неверное имя пользователя или пароль.
В настоящее время я запускаю его без какой-либо аутентификации, поэтому исправление этой проблемы очень важно.
Я создал нового пользователя с именем 'test' с паролем 'password', и это ошибка, которую я получил
Jul 12 14:45:07 ip-172-31-26-147 danted: pam_pwdfile(sockd:auth): setting fail delay
Jul 12 14:45:07 ip-172-31-26-147 danted: pam_pwdfile(sockd:auth): username is estt
Jul 12 14:45:07 ip-172-31-26-147 danted: pam_pwdfile(sockd:auth): user not found in password database
В конце концов я решил проблему, удалив версию dante, которую я установил через apt, и заменив ее той, которую я загрузил с веб-сайта dante и скомпилировал из источника. В версии в репозиториях ubuntu должна быть ошибка.