II-9-2. プロキシサーバの仕組みと構築・設定方法

Linuxで動作するプロキシサーバであるSquidを導入、構築し、設定を行う手順を解説する。プロキシサーバ運用のメリットを示し、プロキシサーバが実際に動作する状況について解説する。

【学習の要点】

* プロキシサーバは外部ネットワークが提供するサービスを、内部ネットワークに存在するクライアントへ提供するための代理サーバとして利用される。

* プロキシサーバにてキャッシュを行うことにより内部ネットワークから外部ネットワークへのトラフィックを低減することができる。

* 内部ネットワークへの不正侵入などを防ぎながら、内部ネットワークから外部ネットワークへのアクセスができる。

* 代表的なプロキシサーバであるSquidの設定を行いプロキシサーバの実際の動作を確認する。

図II-9-2. プロキシサーバの動作

【解説】

1) プロキシサーバとは

ファイアウォールなどを設置して外部のネットワークと切り離している場合、プロキシサーバの機能としては大きく以下の2つに分けられる。

* 代理アクセス

ファイアウォールなどによって直接外部のネットワークと通信することが出来ない場合、ネットワーク内のコンピュータの代わりに外部のネットワークと通信を行う。

また、外部のネットワークとの通信をプロキシサーバだけに制限することで通信の管理が容易となり、セキュリティを向上することができる。

* キャッシング

ネットワーク内のコンピュータが外部のネットワークと通信を行った結果を保存することにより、他のコンピュータが同じサーバと通信を行う際に保存されているデータを利用する。これにより、外部のネットワークとの通信量を減らし、見かけ上のデータ転送速度を向上することができる。

2) Squidとは

プロキシサーバの1つで、主にHTTPを利用した通信に対してプロキシサービスを提供するプログラム。

ネットワーク内のコンピュータが外部のネットワークにあるWebサーバへデータを要求する際、SquidによってWebサーバのデータがキャッシングされていない場合には、SquidがWebサーバと通信しデータを取得後、要求のあったコンピュータへ送信する。

要求のあったWebサーバのデータがSquidにキャッシュされていた場合、Webサーバへキャッシュされているデータが更新されていないか確認を行い、更新されていなければキャッシュの内容を要求のあったコンピュータへ送信する。

Squidの特徴的な機能としては以下のようなものがある。

* 分散キャッシュ

同一ネットワーク内に複数のプロキシサーバを設置し、あるプロキシサーバのキャッシュに要求するデータが存在しない場合、他のプロキシサーバのキャッシュを利用してデータの送信を行うことにより、外部のネットワークからデータを取得するよりも速くデータの送信を行うことができる。

* httpdアクセラレータ

Squidが存在するネットワーク内にあるWebサーバの内容をキャッシングし、外部のネットワークからの要求に対してデータの送信を行うことにより、Webサーバの負荷を低減することができる。

* 透過型プロキシ

プロキシサーバを利用するためには、ネットワークに接続されたコンピュータに設定をする必要があるが、外部のネットワークへ通信があった場合、デフォルトゲートウェイにてプロキシサーバへ直接転送することにより、各コンピュータで設定を行わずにプロキシサーバを利用するようにできる。

4) Squidの設定

Squidの設定は、/etc/squid/squid.confによって行い、キャッシュ、アクセスコントロール、パケットフィルタリング、ログなどに関する設定を行う。

OSS Course Naviのコンテンツは IPA OSS モデルカリキュラムを基としています。

フォーラム会員企業専用

記事配信

コンテンツ配信

ユーザログイン