![サーバー 127.0.0.1:3128 にはユーザー名とパスワードが必要です。サーバーは次のように言います: 親の cntlm](https://rvso.com/image/1314339/%E3%82%B5%E3%83%BC%E3%83%90%E3%83%BC%20127.0.0.1%3A3128%20%E3%81%AB%E3%81%AF%E3%83%A6%E3%83%BC%E3%82%B6%E3%83%BC%E5%90%8D%E3%81%A8%E3%83%91%E3%82%B9%E3%83%AF%E3%83%BC%E3%83%89%E3%81%8C%E5%BF%85%E8%A6%81%E3%81%A7%E3%81%99%E3%80%82%E3%82%B5%E3%83%BC%E3%83%90%E3%83%BC%E3%81%AF%E6%AC%A1%E3%81%AE%E3%82%88%E3%81%86%E3%81%AB%E8%A8%80%E3%81%84%E3%81%BE%E3%81%99%3A%20%E8%A6%AA%E3%81%AE%20cntlm.png)
新しい Ubuntu 12.04 に cntlm をインストールしました。構成ファイルにetc/cntlm.conf
、以下のようにネットワーク構成を挿入しました。
Username: myUsername
Domain : myDomain
Password: myPassword
Proxy : myProxy:8080
Listen: 3128
しかし、ブラウザのネットワーク プロキシとして設定し127.0.0.1:3128
、Web サイトにアクセスすると、cntlm のポップアップ メニューが表示され、ユーザー名とパスワードを求められます。
これに対する解決策は何ですか? ネットワーク ドメイン名を取得するにはどうすればいいですか? ドメイン名またはその他の詳細が間違っている可能性があります。
答え1
1) CNTLM をデフォルトのディレクトリ (Windows の場合は C:\Program Files (x86)\cntlm\) にインストールします。
2) 走るコマンドプロンプト
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) タイプ:コマンド -Mhttp://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 を指定しているため、cntlm.ini 構成ファイルで PassNT と PassLM の両方を使用します。
これは、与えられた回答に従った構成ファイルの例です。
#
# 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