3

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

Username: myUsername
Domain : myDomain
Password: myPassword

Proxy : myProxy:8080

Listen: 3128

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

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

3 ответа3

2

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

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

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

2

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

2) Запустите cmd.exe

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

4) Введите: cntlm.exe -H -d your_domain -u your_username

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

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

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

5) Введите: cntlm -M 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. Это может отличаться в вашей системе.

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

  • если Auth NT, то вы должны использовать только PassNT
  • если Auth is LM, то вы должны использовать только PassLM
  • если Auth - NTLM, то вы должны использовать как PassLM, так и PassNT.
  • если аутентификация 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. Не используйте домен \ имя пользователя в качестве имени пользователя. Примечание 2. Если оно есть, не забудьте использовать расширение «.intra» после вашего домена (yourdomain.intra).

1

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

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

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

Смотрите результаты. Если единственный метод OK - это Auth = LM, то вам нужно изменить файл конфигурации (раскомментируйте следующие строки):

Auth         LM
Flags        0x06820000

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

gksudo gedit /etc/cntlm.conf

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

sudo service cntlm restart

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .