Squidは、プロキシサーバー (Proxy Server) を立てることが出来るサーバーソフトウェアです。
Squidは、GPLライセンスのオープンソースで、マルチプラットフォームであり、おそらく世界で最も使われているプロキシサーバーです。
WindowsとCentOSの両方に対応しており、 簡単にプロキシサーバーを構築、設定することが可能です。
目次
CentOS 7でSquidを構築する手順
CentOS 7でSquidを構築する手順は次の通りです。
Squid のインストール
yum でインストールします。
1 |
# yum -y install squid |
私の場合は、以下のバージョンの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 とすると、次の箇所を変更、追加しておきます。
1 2 |
acl allowaddress src aaa.bbb.ccc.ddd/255.255.255.255 http_access allow localhost manager allowaddress |
次に、
↓これを許可しておかないとアクセス出来ません。
1 |
http_access allow allowaddress |
上記の設定がないと、/var/log/squid/access.log ログに HIER_NONE というエラーが出て動かないです。
1 |
aaa.bbb.ccc.ddd TCP_DENIED/403 4067 CONNECT http://www.yahoo.co.jp/ - HIER_NONE/- text/html |
これは、デフォルトでは、以下のように許可したアドレス以外は拒否と書かれているからです。
1 2 |
# And finally deny all other access to this proxy http_access deny all |
また、デフォルトのポートは3128ですが、攻撃される可能性があるので、念のために変えておきます。
1 2 |
#http_port 3128 http_port 12345 |
ファイアウォールの設定
CentOS 7から、ファイアウォールの設定は iptables ではなくて、firewall-cmd で行います。
これは、よくハマるので要注意です。以下をご覧ください。
指定したアクセス元からのみ、アクセスを許可します。
1 2 |
# firewall-cmd --permanent --zone=public --add-rich-rule="rule family="ipv4" source address="aaa.bbb.ccc.ddd" port protocol="tcp" port="12345" accept" # firewall-cmd --reload |
こうすると、/etc/firewalld/zones/public.xml というファイルが書き換わります。
Squid の起動
CentOS 7から、サービスの起動は、systemctl コマンドで行います。
Squidの起動は
1 |
# systemctl start squid.service |
または
1 |
# systemctl reload squid.service |
です。
Squidの状態の確認は
1 |
# systemctl status squid.service |
です。
Windows ServerでSquidを構築する手順
Squid For Windowsのインストール
SquidのWindows版のインストーラーは、公式サイトには存在しないようです。
下記のDiladele版の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
コメント