プロキシサーバーとは?構築の際に必要な設定をスクリプトも含めて解説

プロキシサーバーとは?構築の際に必要な設定をスクリプトも含めて解説のアイキャッチイメージ

プロキシサーバーとは?


プロキシサーバーは主に企業内の内部ネットワークのセキュリティを高めるファイヤーウォールの役割や、複数のPCからのインターネットアクセスのトラフィックを軽減するキャッシュ機能などがあります。

プロキシサーバーを構築する際には下記の5つのポイントを意識して作業を行うことで、安定した通信および高いセキュリティで安心したネットワークを構築できます。

1.プロキシサーバーを構築する際の5つのポイント

まず、プロキシサーバーには主に3つの役割があります。ファイヤーウォールといったセキュリティの機能や、複数のPCをまとめて接続する代理アクセス機能、また安定した通信サービスを運用するためのキャッシュ機能があります。

この3つの機能を理解することでプロキシサーバーを構築する際の設定や内容について役立てることができます。

1-1.代理アクセス機能

1つ目の代理アクセス機能は内部ネットワークにある複数台のPCからのインターネットアクセスに代理応答する機能です。企業など組織で複数台のPCがインターネット接続をする際に、セキュリティ面も含めて個別に接続するのではなく、サーバー側でまとめて接続する機能です。

サーバー側でグローバルIPアドレスを取得するため、必要以上のネットワークリソースを用意する必要がなくなります。

1-2.キャッシュ機能

2つ目のキャッシュ機能は、プロキシサーバー側で複数PCのリクエスト情報をまとめてキャッシュを行うことでトラフィックを軽減する機能です。こちらの機能を利用することでインターネットに接続するそれぞれのPCの通信を安定化させることができます。

具体例にはYahooやGoogleなどの検索結果をサーバー側で保存することにより、各PCでの応答結果の重複を減らし安定した通信環境を提供できるようにする機能です。

1-3.ファイヤーウォール機能

3つ目のファイヤーウォール機能は、外部からのハッキングから守る機能などセキュリティに関する機能です。具体的には内部ネットワークではプライベートIPアドレスといって、外部からはプロキシサーバーを介さないと接続できない環境を構築することが可能です。

また逆に、プロキシサーバーを構築することにより内部からのアクセス可能なサイトや通信を制限することで組織内からのセキュリティ向上にも役立ちます。

2.プロキシサーバー用ソフトのSquidについて

プロキシサーバーの構築においてとても重要なソフトであるSquid(スクイッド)は、前述のキャッシュ機能やリバースプロキシ機能のように、内部ネットワーク上のPCのインターネット接続を一元的に管理できます。

主に組織内ネットワークでPCからの接続要求に代理アクセスしたり、接続を許容するIPアドレスの範囲を設定したり利用者認証を行うなどの他に、通信速度の上限を設定するなどの帯域制御を行うこともできます。

3.プロキシサーバー構築の際に必要な3つの豆知識

プロキシサーバー構築の際の設定では主にIPアドレスを使用しサービスの適用範囲などを指定します。また、外部へのアクセスが可能な端末の選定や範囲などもIPアドレスで記述することで一元的に管理されています。

設定の際にIPアドレスの記述方法やその意味について理解しておくことで、正しい設定はもちろん運用の際にもメンテナンスの簡素化やネットワーク安定化に繋がります。

3-1.IPアドレスとは

IPアドレスとは日常で利用するパソコンやサーバーなどネットワーク上の住所にあたるものです。よく目にするもので具体例をあげると、パソコンを始めスマートフォン、タブレット、ノートブックPCなどといったものがあります。

他にも、サーバーやルーター、プリンターやIP電話などにもIPアドレスが利用されています。最近では冷蔵庫など家電品にもIPアドレスが割り当てられ、リモート操作などにも利用されています。

3-2.グローバルIPアドレスとプライベートIPアドレスについて

IPアドレスには大きく分けてインターネット通信などで利用されるグローバルIPアドレスと、企業での内部ネットワークとして利用されるプライベートIPアドレスに分けられます。基本的にインターネットサービスを利用する際にはグローバルIPアドレスがないと通信ができません。

現在ではインターネットに接続できるグローバルIPアドレスの数が枯渇していて、新しい規格のIPv6という規格が注目されています。

3-3.IPアドレスの記述方法

現在世界で使用されているIPアドレス(IPv4)は4つの数字の組合せで、0~255の数字でその端末を特定できるようになっています。表記方法は「0.0.0.0~255.255.255.255」というようにピリオド(.)で区切ります。

コンピューターの内部では2進数で管理されており、0~255ですと「00000000~11111111」というように8ビットの表記で管理されています。

4.SquidでWebプロキシサーバー(CentOS)を構築するには?

今回はLinuxサーバー端末を使用して、プロキシサーバー構築のためのSquidソフトウェアを実際にインストールしています。その際に入力したコマンドやインストールの際に出力されるログなどをコードで表記しています。

なお、OSのバージョンやSquidソフトウェアのバージョンによっては出力された内容に相違がある可能性があります。

4-1.検証環境及び構成について

サーバーのハード構成はインテル系PCを使用し、OSはCentOS 7.9を使用しました。今回利用したプロキシソフトウェアはSquid3.5.20になります。OSは、CentOSインストールディスクからデフォルトでのインストールを行い、各バージョン情報は以下になります。

4-2.システム構成環境について

プロキシサーバーのサービスとしてファイヤーウォールと公開用Webプロキシサーバーを利用するのが一般的です。

内部ネットワーク上にある複数のPCはファイヤーウォールで守られるとともに外部からのキャッシュ機能でアクセスを安定させ、また社外の公式ホームページやファイル共有サーバー等はDMZといった公開範囲内でのアクセスが可能になる構成です。

4-3.パッケージのインストールについて

それではSquidのRPMパッケージをインストールします。

 

また、以下のコマンドでSquidのバージョンが表示されます。

4-4.Squid設定の変更について

viなどのテキストエディタでSquidの設定を編集していきます。

 

内容は以下に記述します。
設定ファイルを編集する際には基本バックアップを作成してから行うのが望ましいです。
バックアップはcpコマンドで簡単に作成できます。
今回のsquid.confは元々バックアップが自動で作成されてますので、バックアップは不要です。

 

記述を見ていただくとわかるように、編集する際には元々の記述を#でコメントアウトし新しい設定を追加する形式で編集することをおすすめします。

5.実際に運用を考慮した場合に必要な設定について

プロキシサーバー構築の際に必要な設定はこちらのsquid.confを編集することで完了します。設定を反映させるためにはこの後ログの設定やログローテーション、カーネルのパラメーターチューニング、その後にファイヤーウォールの設定を行いサービスを起動することで設定は完了です。

また、プロキシサーバー側だけではなくPC側でプロキシの設定をすることで、どの端末でも同じようにサービスを利用できます。

プロキシサーバー構築に関するまとめ


プロキシサーバーには内部ネットワーク上のPCをとりまとめてインターネットに接続する役割や、外部から内部ネットワークのPCの情報を守るファイヤーウォールといったセキュリティ機能があります。

また、プロキシサーバーを構築する際にはSquidというサーバーソフトを設定することで新たに開発を行わず手軽に目的が実現できます。

解説した内容を参考に、ぜひプロキシサーバーについて理解を深めてください。

インフラエンジニア専門の転職サイト「FEnetインフラ」

FEnetインフラはサービス開始から10年以上『エンジニアの生涯価値の向上』をミッションに掲げ、多くのエンジニアの就業を支援してきました。

転職をお考えの方は気軽にご登録・ご相談ください。