Squidでプロキシーサーバー (Proxy) を構築、設定 (CentOS 7, Windows Server 2008)

スポンサーリンク
サーバー設定

Squidは、プロキシサーバー (Proxy Server) を立てることが出来るサーバーソフトウェアです。

Squidは、GPLライセンスのオープンソースで、マルチプラットフォームであり、おそらく世界で最も使われているプロキシサーバーです。

WindowsとCentOSの両方に対応しており、 簡単にプロキシサーバーを構築、設定することが可能です。

 

CentOS 7でSquidを構築する手順

CentOS 7でSquidを構築する手順は次の通りです。

 

Squid のインストール

yum でインストールします。

 

 

私の場合は、以下のバージョンのSquidがインストールされました。

squid-3.5.20-10.el7.x86_64
squid-migration-script-3.5.20-10.el7.x86_64

 

Squidの設定 (HIER_NONEの意味は何?)

Squidの設定は、/etc/squid/squid.conf を変更するだけです。

デフォルト値は、ほとんど変更する必要がありません。

 

アクセス元のIPアドレスを aaa.bbb.ccc.ddd とすると、次の箇所を変更、追加しておきます。

 

次に、

↓これを許可しておかないとアクセス出来ません。

 

上記の設定がないと、/var/log/squid/access.log ログに HIER_NONE というエラーが出て動かないです。

 

これは、デフォルトでは、以下のように許可したアドレス以外は拒否と書かれているからです。

 

 

また、デフォルトのポートは3128ですが、攻撃される可能性があるので、念のために変えておきます。

 

 

ファイアウォールの設定

CentOS 7から、ファイアウォールの設定は iptables ではなくて、firewall-cmd で行います。

 

これは、よくハマるので要注意です。以下をご覧ください。

CentOS 7からデフォルトのFirewalldでハマった(iptablesは今後使わない?違い?) ファイアウォールの設定ファイル
CentOS 7をはじめて使ってみて、あまりにもCentOS 6と違って戸惑いました。 詳しくは、以下の記事にまとめました。 今回は、CentOS 7から採用されたFirewalld (ファイアウォールの...

 

 

指定したアクセス元からのみ、アクセスを許可します。

 

こうすると、/etc/firewalld/zones/public.xml というファイルが書き換わります。

 

Squid の起動

CentOS 7から、サービスの起動は、systemctl コマンドで行います。

 

Squidの起動は

または

です。

 

Squidの状態の確認は

です。

 

Windows ServerでSquidを構築する手順

Squid For Windowsのインストール

SquidのWindows版のインストーラーは、公式サイトには存在しないようです。

下記のDiladele版のSquid For Windowsのインストーラーを使います。

 

Squid for Windows
MSI installer for Squid for Windows

 

MSI形式のインストーラーをインストールするとそのままサービスとして登録されます。

インストールフォルダは、C:\Squid です。

 

Squidの設定

Squidの設定を行うには、Windowsのタスクバーの右下にあるタスクトレイにあるSquidのアイコンから「Open Squid Configuration」を押します。

 

 

「Open Squid Configuration」を押すと、メモ帳が開いて

C:\Squid\etc\squid.conf

が開きます。

 

中身は、CentOS 版と同じです。

よって修正箇所もCentOS版と同じ箇所を修正します。

 

ファイアウォールの設定

Windowsファイアウォールの設定から、プロキシサーバーヘのアクセスを設定します。

 

Windowsファイアウォール「受信の規則」で、Squid Cache Serverのプロパティを開きます。

「プロトコルとポート」のところで、「ローカルポート」としてSquidの設定で指定したポート番号を指定します。

デフォルトは3128ですが、別のポート番号にしておいた方が安全です。

 

 

 

また、「スコープ」の「リモートIP」アドレスを指定しておけば、特定のサーバーのみからアクセスを受け付けるようになります。

 

 

Squid の起動

ここまで設定できれば、Squidをサービスから起動します。

 

Windowsのタスクトレイから「Start Squid Service」を実行します。

 

まとめ

Squidを使うと簡単にプロキシサーバを立てることが可能です。

ただ、踏み台にされないように、特定のサーバーとポートからのみアクセスを受け付けるように設定しましょう。

 

 

↓CentOS のおすすめの書籍はコチラ
CentOS

コメント