認証プロキシ攻略法

2020年12月23日 0 投稿者: khws4v1

認証プロキシとは?

認証プロキシはその名の通りプロキシへの接続に認証が必要になるプロキシのことです。
認証が通らない場合、プロキシサーバーは407 Proxy Authentication Requiredを返します。

認証プロキシの問題点

大抵のソフトウェアは通常のプロキシには対応していますが、認証プロキシには対応していません。
認証プロキシ経由でないとインターネットに接続することができないネットワークでは多くのソフトウェアの動作に支障が出ます。
例えば自宅で使っているツールが職場では使えなかったりします。

対応しているソフトウェアであっても

  • プロキシの認証情報を定期的に手動で入力させられる
  • プロキシの設定が複雑になる
  • 認証を忘れると不可解なエラーが出る

といった問題を抱えています。

認証プロキシの攻略

認証プロキシにたいして認証を行うプロキシサーバーを立ち上げ、そのプロキシサーバーを経由してアクセスすれば認証の手間が省けます。

この手のプロキシサーバーの実装はたくさんありますが、著名なプロキシサーバーであるSquidを使用します。
SquidはWindowsでの動作ができないので、人生の行く末をExcelで管理している日本の働く人たちには向いていないように思えます。
幸いWindows用のSquidが存在するのでそれを使うことにします。

Squidのインストール

インストーラーをダウンロードしてインストールしてください。

http://squid.diladele.com/

Squidの設定

システムトレイにSquidが現れるので右クリックして設定ファイルを開いてください。

既にある程度設定が入っています。
それに以下を追加します。
dns_nameserversだけは既存の値を上書きしてください。

設定ファイルはSquidを再起動させないと反映されません。

プロキシの設定

Windows上で動くソフトウェアはOSのプロキシ設定を参照します。
Win+Rを押した後、ms-settings:network-proxyと入力してOKをクリックするとプロキシ設定画面が出ます。(Windows 10)
プロキシサーバーにhttp://localhost:3128を指定します。

WSLの設定

WSL上のソフトウェアはWindowsのプロキシ設定を参照しないので個別に設定する必要があります。

大抵は/etc/environmentで環境変数を設定するだけです。

apt/etc/apt/apt.confで設定します。

これでも解決しない問題

  • プロキシサーバーが輻輳してろくにウェブサイトが見れない
  • なんやかんやでサーバー負荷が上がってプロキシサーバーが死んで業務が止まる
  • 謎の検閲によりStackoverflowが見れない
  • 社外のネットワークに接続する度にプロキシ設定を変更する必要がある

結論: 社内プロキシはゴミ