
プロキシサーバーは、デスクトップコンピューターとインターネットの仲介役として機能し、クライアントマシンがネットワークサーバーやサービスに間接的に接続できるようにするコンピューターです。ネットワークにプロキシサーバーを導入する理由は数多くあります。
- LAN上でインターネット接続を共有する
- インターネットサーフィンを高速化するため
- 匿名のサーフィンのためにクライアントコンピュータのIPアドレスを隠す
- インターネットアクセス制御を実装する
- 送信コンテンツをスキャンするには
- 地域的な制限を回避するため
上記の理由の中には、ビジネスに完全に当てはまるものもあれば、ベストプラクティスに合わないものもあるでしょう。いずれにせよ、プロキシサーバーのインストールと設定方法を知ることは、ネットワーク管理者にとって必須のスキルです。それでは、その点について見ていきましょう。Ubuntu 16.04サーバーにSquidプロキシサーバーをインストールする方法を説明します。
インストール
このインストールと構成は完全にコマンド ラインから処理されるため、ターミナル ウィンドウを開いて入力の準備をしてください。
まず最初に(Ubuntuでのソフトウェアインストールと同様に)aptをアップデートします。ターミナルウィンドウから、sudo apt-get updateコマンドを実行します。完了したら、sudo apt-get upgradeコマンドでアップグレードを実行することもできます。もちろん、カーネルをアップグレードする場合は再起動が必要になるので、それに合わせてスケジュールを設定してください。
アップデート/アップグレードが完了したら、次のコマンドで Squid をインストールします。
sudo apt-get install squid3
インストールでは必要な依存関係 (libecap3、libltdl7、squid-purge、および squid-langpack) が選択され、問題なく完了します。
インストールはこれで完了です。次は、基本的なプロキシサーバーの設定に移ります。
構成
Squidプロキシサーバーの設定は/etc/squid/squid.confで行います。ここでは、非常に基本的なプロキシサーバーの設定方法を説明します。まず、以下の行のコメントを解除します(#文字を削除します)。
#http_access allow localnet
その行を見つけるには、次のコマンドを発行します。
sudo grep -n http_access /etc/squid/squid.conf
ご覧の通り(図A)、設定オプションは(私のインストールでは)1186行目にあります。squid.conf ファイルを開き、コマンドsudo nano /etc/squid/squid.confを実行して編集します。そして、該当の行までスクロールダウンし、# 文字を削除します。
図A

次に次の行を探します:
#acl localnet src
複数の設定項目があります(異なるネットワークIPスキームに対応)。ご自身のネットワーク(例えば192.168.0.0/16)に該当する設定項目のコメントを解除し、必要に応じて変更してください。例えば、内部ネットワークを192.168.1.0/255.255.255.0ネットワークで運用しているとします。この場合、localnetの設定オプションは次のようになります。
acl localnet src 192.168.1.0/255.255.255.0
次のコマンドで squid を再起動します。
sudo service squid restart
これで完了です。これで、ポート3128とSquidをインストールしたシステムのIPアドレスで、基本的なプロキシサーバーが稼働するようになりました。その後は、クライアントマシンで(アプリケーションごと、またはOSごとに)IPとポート番号を指定して、新しく設定したプロキシを使用するように設定してください。
自分に合った方法を見つけよう
もちろん、Squidは基本的なプロキシサーバーとして機能するだけでなく、非常に多くの機能を備えています。Squidの様々な設定オプションについて詳しく知りたい場合は、公式ドキュメントをご覧ください。サードパーティ製アプリケーションのオプション設定、ネイバー選択アルゴリズムのオプション設定、各種ネットワークパラメータの設定方法など、様々な情報が提供されています。また、/var/log/squid/access.logと/var/log/squid/cache.logを確認することで、Squidがネットワーク上でどのような動作をしているかをいつでも確認できます。