タイトルにあるように、Cntlmに問題があります。私は0.92.3バージョンで作業しており、ソースコードから起動します。私がやろうとしているのは、インターネットを閲覧してアプリケーション(Skypeなど)を起動するために、ローカルホスト構成でスタンドアロンプロキシとしてCntlmを起動することです。
私はMintに取り組んでおり、コマンドuname -a
は次のようになります。
Linux Jarvis 3.16.0-38-generic #52~14.04.1-Ubuntu SMP Fri May 8 09:43:57 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux
これらは私が尋ねる前にしたステップです:
./configure
make
Sudo make install
すべてうまくいきます。また、http、https、およびftpプロキシを次のようにエクスポートします。
export http_proxy = http://127.0.0.1:3128
export https_proxy = https://127.0.0.1:3128
export ftp_proxy = https://127.0.0.1:3128
また、すべてがうまくいきます。残っているのは、cntlmを起動することです。
Sudo cntlm -v -f
渡された情報を保持します cntlm.conf 正しく、フォアグラウンドにとどまっていることを表示します。
ブラウザ(Firefox)にアクセスし、プロキシ用に設定します。127.0.0.1をhttpプロキシとして設定し、3128をポートとして設定します。
ブラウザタブを起動してプロキシの下でテスト調査を行うと、ターミナルはデータの精緻化を開始しますが、数秒後、次のように表示され続けます。
cntlm[11605]: Serious error during accept: Too many open files
ctrl + Cを押すまで。
これは私が持っているcntlm.confです:
#
# Cntlm Authentication Proxy Configuration
#
# NOTE: all values are parsed literally, do NOT escape spaces,
# do not quote. Use 0600 perms if you use plaintext password.
#
Username myUsername
Domain localhost
Password password
# NOTE: Use plaintext password only at your own risk
# Use hashes instead. You can use a "cntlm -M" and "cntlm -H"
# command sequence to get the right config for your environment.
# See cntlm man page
# Example secure config shown below.
# PassLM 1AD35398BE6565DDB5C4EF70C0593492
# PassNT 77B9081511704EE852F94227CF48A793
### Only for user 'testuser', domain 'corp-uk'
# PassNTLMv2 D5826E9C665C37C80B53397D5C07BBCB
# Specify the netbios hostname cntlm will send to the parent
# proxies. Normally the value is auto-guessed.
#
# Workstation netbios_hostname
# List of parent proxies to use. More proxies can be defined
# one per line in format <proxy_ip>:<proxy_port>
#
Listen 127.0.0.1:3128
#Listen 192.168.0.1:3128
#Proxy 10.0.0.41:8080
#Proxy 10.0.0.42:8080
Proxy 127.0.0.1:3128
# List addresses you do not want to pass to parent proxies
# * and ? wildcards can be used
#
NoProxy localhost, 127.0.0.*, 10.*, 192.168.*
# Specify the port cntlm will listen on
# You can bind cntlm to specific interface by specifying
# the appropriate IP address also in format <local_ip>:<local_port>
# Cntlm listens on 127.0.0.1:3128 by default
#
# If you wish to use the SOCKS5 proxy feature as well, uncomment
# the following option. It can be used several times
# to have SOCKS5 on more than one port or on different network
# interfaces (specify explicit source address for that).
#
# WARNING: The service accepts all requests, unless you use
# SOCKS5User and make authentication mandatory. SOCKS5User
# can be used repeatedly for a whole bunch of individual accounts.
#
SOCKS5Proxy 5000
#SOCKS5User username:password
# Use -M first to detect the best NTLM settings for your proxy.
# Default is to use the only secure hash, NTLMv2, but it is not
# as available as the older stuff.
#
# This example is the most universal setup known to man, but it
# uses the weakest hash ever. I won't have it's usage on my
# conscience. :) Really, try -M first.
#
#Auth LM
#Flags 0x06820000
# Enable to allow access from other computers
#
#Gateway yes
# Useful in Gateway mode to allow/restrict certain IPs
# Specifiy individual IPs or subnets one rule per line.
#
Allow 127.0.0.1
Deny 0/0
# GFI WebMonitor-handling plugin parameters, disabled by default
#
#ISAScannerSize 1024
#ISAScannerAgent Wget/
#ISAScannerAgent APT-HTTP/
#ISAScannerAgent Yum/
# Tunnels mapping local port to a machine behind the proxy.
# The format is <local_port>:<remote_Host>:<remote_port>
#
#Tunnel 11443:remote.com:443
何度も設定を変更しようとしましたが、実際には変更されません。 127.0.0.1:3128をデフォルトのプロキシ(私がやろうとしていること)として配置すると、正常に開始されますが、ループで終了します。
それを機能させるにはどうすればよいですか?問題はどこにありますか?
元のソースコードには触れていません。したがって、意図したとおりに機能するはずです。
前もって感謝します。
編集:これはsu
の後のulimit -a
出力です:
core file size (blocks, -c) 0
data seg size (kbytes, -d) unlimited
scheduling priority (-e) 0
file size (blocks, -f) unlimited
pending signals (-i) 15079
max locked memory (kbytes, -l) 64
max memory size (kbytes, -m) unlimited
open files (-n) 1024
pipe size (512 bytes, -p) 8
POSIX message queues (bytes, -q) 819200
real-time priority (-r) 0
stack size (kbytes, -s) 8192
cpu time (seconds, -t) unlimited
max user processes (-u) 15079
virtual memory (kbytes, -v) unlimited
file locks (-x) unlimited
わかりました、私はここで何が起こっているのか理解したと思います。基本的に問題は設定ファイルに行を入れることです
Proxy 127.0.0.1:3128
そしてライン:
Listen 3128
(または127.0.0.1:3128も)
実際、構成では、スレッドが閉じられないループでプロキシを送信し、制限に関係なく、単一のサイトで接続要求を送信すると思います。
単純なブラウザ接続(Firefoxなど)の場合は、次の行をそのままにします。
Listen 3128
または
Listen 127.0.0.1:3128
同じです。プロキシの場合、次のスキームに従うことができます。
Proxy ipAddress:port
このいくつかのデータは、Web上で簡単に見つけることができます。
Localhost(または127.0.0.1)をホストおよびリッスンしているのと同じポート番号として設定して、localhostプロキシに接続するようにFirefox(または別のブラウザー)を構成します。それは私のために働いた。
さまざまなアプリケーションで起動する方法がまだわかりません(実際にプロキシの背後で実行されているかどうかわからないため、何も言われていません)が、今ではまだ解決策です。