Сервер 127.0.0.1:3128 требует имя пользователя и пароль. Сервер говорит: cntlm для родителя

Сервер 127.0.0.1:3128 требует имя пользователя и пароль. Сервер говорит: cntlm для родителя

Я только что установил cntlm на свой новый Ubuntu 12.04. В файле конфигурации etc/cntlm.confя вставил свою сетевую конфигурацию, как показано ниже:

Username: myUsername
Domain : myDomain
Password: myPassword

Proxy : myProxy:8080

Listen: 3128

Но когда я устанавливаю 127.0.0.1:3128в качестве сетевого прокси-сервера свой браузер и хочу посетить веб-сайт, появляется всплывающее меню cntlm с запросом имени пользователя и пароля.

Какое решение этой проблемы? Как мне получить свое сетевое доменное имя? Я думаю, что мое доменное имя или другие данные могут быть неверными.

решение1

1) Установите CNTLM в каталог по умолчанию (в Windows C:\Program Files (x86)\cntlm\ ).

2) Бегатьcmd.exe

3) Тип:cd "C:\Program Files (x86)\cntlm\"

4) Тип:cntlm.exe -H -d ваш_домен -u ваше_имя_пользователя

Он спросит ваш пароль. Введите ваш пароль и cntlm выдаст вам некоторые хэши. Что-то вроде этого:

c:\Program Files (x86)\Cntlm>cntlm -H -d your_domain -u your_username
Password:
PassLM          4E9C185900C7CF0B6FFCB2044F81920C
PassNT          6E9F120B83EEA0E875CE8E6F9730EC9A
PassNTLMv2      2A0B7C2457FB7DD8DA4EB737C4FA224F  

Теперь у вас есть хэшированные пароли. Сохраните их в текстовом редакторе.

5) Тип:кнтлм -Мhttp://www.google.com

Снова введите свой пароль. Это даст вам что-то вроде этого

c:\Program Files (x86)\Cntlm>cntlm -M http://www.google.com
Password:
Config profile  1/4... Credentials rejected
Config profile  2/4... OK (HTTP code: 302)
----------------------------[ Profile  1 ]------
Auth            NTLM
PassNT          6E9F120B83EEA0E875CE8E6F9730EC9A
PassLM          4E9C185900C7CF0B6FFCB2044F81920C
------------------------------------------------

Теперь вы видите, что профиль 2 успешен. Потому что для профиля 2 написано OK. В вашей системе это может быть по-другому.

Хитрость в том,

  • если Auth - NT, то необходимо использовать только PassNT
  • если Auth - LM, то необходимо использовать только PassLM
  • если аутентификация - NTLM, то необходимо использовать и PassLM, и PassNT
  • если Auth — NTLMv2, то необходимо использовать только PassNTLMv2

Теперь у нас есть все, что мы хотели. Для моей конфигурации Auth говорит NTLM, поэтому я буду использовать и PassNT, и PassLM в файле конфигурации cntlm.ini.

Это пример файла конфигурации согласно данным ответам:

#
# Cntlm Authentication Proxy Configuration File
#

Username yourusername
Domain yourdomain

Auth NTLM
PassNT 6E9F120B83EEA0E875CE8E6F9730EC9A
PassLM 4E9C185900C7CF0B6FFCB2044F81920C

Workstation yourhostname.yourdomain

# Most probably proxy.yourdomain:8080
Proxy  yourProxyIP:yourProxyPort

NoProxy  localhost, 127.0.0.*, 10.*, 192.168.*

Listen  3132

Gateway yes

Теперь вы можете использовать IP-адрес вашего компьютера и порт 3132 в качестве прокси-сервера.

Примечание 1: Не используйте domain\username в качестве имени пользователя. Примечание 2: Если таковое имеется, не забудьте использовать расширение «.intra» после вашего домена (yourdomain.intra).

решение2

В cntlm.confфайле обязательно замените поле Passwordна одно из следующих полей:

  • PassLM(если вы используете LM-хэш)
  • PassNT(если вы используете NT-хэш)
  • PassNTLMv2(если вы используете хэш NTLMv2)

Тогда вам следует писать не текстовый пароль, а соответствующий ему хэш, который можно вычислить с помощьюcntlm -H -d <domain> -u <user>

решение3

У меня была такая же проблема.

Прежде всего, попробуйте эту команду:

sudo cntlm -M http://www.google.com

Посмотрите результаты. Если единственный методХОРОШОявляетсяАутентификация = LM, то вам необходимо изменить файл конфигурации (раскомментируйте эти строки):

Auth         LM
Flags        0x06820000

Если вы не знаете, как изменить файл конфигурации, сделайте следующее:

gksudo gedit /etc/cntlm.conf

Не забудьте перезапустить CNTLM:

sudo service cntlm restart

Связанный контент