Как настроить аутентификацию SOCKS4 через socks-прокси Dante

Мне удалось настроить socks4,socks5 и socks5 с аутентификацией с использованием прокси-сервера Dante socks, но я понятия не имею, как настроить socks4 с аутентификацией. Я знаю, что прокси socks_v4 поддерживает только идентификатор пользователя (не пароль).

Мой файл danted.conf выглядит следующим образом:

logoutput: syslog
internal: eth0 port =1081
external: eth0
user.privileged: root
user.unprivileged: nobody
socksmethod: username
clientmethod: none

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

socks pass {
        from: 0.0.0.0/0
        to: 0.0.0.0/0
        command: bind connect udpassociate
        protocol: tcp udp
        proxyprotocol: socks_v4
        log: error
        socksmethod:username
}

я получил ошибки

#username and password
curl -x socks4://user1:[email protected]:1081 http://google.com
curl: (7) Can't complete SOCKS4 connection to 142.250.73.206:80. (91), request rejected or failed.

#just username
curl -x socks4://[email protected]:1081 http://google.com
curl: (7) Can't complete SOCKS4 connection to 142.250.73.206:80. (91), request rejected or failed.

#no auth
curl -x socks4://x.2xx.1xx.x:1081 http://google.com
curl: (7) Can't complete SOCKS4 connection to 142.250.73.206:80. (91), request rejected or failed.

person Jim    schedule 16.11.2020    source источник


Ответы (1)


Имя пользователя метода аутентификации не поддерживается версией 4 протокола SOCKS, только SOCKS v5. Когда вы настраиваете Dante на требование метода: имя пользователя от всех клиентов, вы фактически блокируете всех клиентов SOCKS v4.

Другая проблема с вашей конфигурацией заключается в том, что SOCKS v4 не поддерживает UDP, поэтому настройки в вашем socks-правиле также не имеют особого смысла.

Вы должны настроить Dante для ведения журнала и просмотреть журналы Dante. Поскольку именно Dante блокирует соединение, в журналах Dante будет проще увидеть причину. Dante, вероятно, также сообщит о некоторых проблемах с вашим dated.conf в своем лог-файле.

person Michael Shuldman    schedule 17.02.2021