2019/06/04
古い記事ですが、何かの役に立つかもということで掲載します。なお、Windowsの場合はこちらの記事を参照ください。
Linuxをセットアップしてみたのだけれど、プロキシサーバーがForefront TMG(旧ISA)で、NTLM認証を使っているので普通のProxy認証向け設定では外に出られない。
それでは困るので、CNTLMを使って対応する。
CNTLMはNTML認証proxyを通過するための、ローカルプロキシ。
ローカルからの接続を全てcntlm経由似設定することで、NTML認証proxyとの接続をうまいことやってくれるというもの。
CNTLM自体はNTML認証以外でもOKなようなので、とりあえずセットアップしておくといろいろなネットワークに接続する際に不便がなくて良いかもしれない。
CNTLMのセットアップ手順
(今回はlinux mintでセットアップしたので、debパッケージをdpkgでインストールした)
- http://sourceforge.net/projects/cntlm/?source=typ_redirect から*.debパッケージをダウンロードして適当なフォルダに格納する。(今回はcntlm_0.92.3_amd64.debをダウンロードした)
- dpkgでインストールする。
sudo -E dpkg -i cntlm_0.92.3_amd64.deb - /etc/cntlm.confを編集する。
http://blog.livedoor.jp/centosnotes/archives/3859816.html を参照して作業した。
一箇所、sudo がないところがあるが、必要なので注意。 - sudo init.d/cntlm restart で再起動。
- Firefoxで接続テストしてみる。
- proxy を手動/localhost/3128に設定して
- WebページにアクセスできればOK。
システムデフォルトのproxyをCNTLMに設定する
/etc/environmentで設定してもいいのだけれど、ここはproxy.shで設定する。
この辺は http://lambdalisue.hatenablog.com/entry/2013/06/25/140630 を参照した。
- proxy.shを作成する。
sudo vi /etc/profile.d/proxy.sh# proxy settings HOST="localhost" PORT="3128" PROXY="$HOST:$PORT" #set to environment variables(lower and upper case) export http_proxy="http://$PROXY" export https_proxy="https://$PROXY" export ftp_proxy="ftp://$PROXY" export HTTP_PROXY="http://$PROXY" export HTTPS_PROXY="https://$PROXY" export FTP_PROXY="ftp://$PROXY" #set no_proxy(necessary setting) export no_proxy="127.0.0.1,localhost" export NO_PROXY="127.0.0.1,localhost"
- 次回のセッションからはproxy.shが自動実行されるが、カレントのターミナルでは(当然)実行されていないので、とりあえず実行しておく。
. proxy.sh - wgetでテストしてみる。
書き込み権限のあるフォルダに移動してから
wget https://www.google.com
index.htmlが取得できていればOK。
sudoにproxy関係の環境変数が引き継がれるように設定
sudoすると環境変数はクリアされる。proxy設定を環境変数で行ったので、sudoするとproxy設定がされていない状態になる。sudo -Eで実行すれば環境変数を引き継ぐので、それで問題ないのだが、面倒なのでsudoした際にproxy関係の環境変数が引き継がれるようにする。
- sudo visudo
※エディタは sudo update-alternatives –config editor で変更可能 - 下記を追記する。
Defaults env_reset Defaults env_keep="no_proxy NO_PROXY" Defaults env_keep+="http_proxy https_proxy ftp_proxy" Defaults env_keep+="HTTP_PROXY HTTPS_PROXY FTP_PROXY"
- テスト
sudo printenv
を実行して、proxy関係の設定がリストアップされていればOK。