Squid Proxy ダウンロードとインストール手順

2021年3月23日

このページでは CentOS Linux における Squid Proxyのダウンロード、インストール、設定手順に関して説明します。

CentOSがインターネットに接続されている場合は squid のインストールはとても簡単です。以下のコマンド (yum -y install squid) でインストールすることが可能です。

ダウンロードとインストール

[root@localhost ~]# yum -y install squid
CentOS-8 - AppStream 1.2 kB/s | 4.3 kB 00:03
CentOS-8 - AppStream 2.7 MB/s | 6.3 MB 00:02
CentOS-8 - Base 6.5 kB/s | 3.9 kB 00:00
CentOS-8 - Base 1.2 MB/s | 2.3 MB 00:01
CentOS-8 - Extras 2.2 kB/s | 1.5 kB 00:00
CentOS-8 - Extras 11 kB/s | 9.4 kB 00:00
Extra Packages for Enterprise Linux Modular 8 - 1.5 kB/s | 3.7 kB 00:02
Extra Packages for Enterprise Linux Modular 8 - 819 kB/s | 557 kB 00:00
Extra Packages for Enterprise Linux 8 - x86_64 23 kB/s | 4.3 kB 00:00
Extra Packages for Enterprise Linux 8 - x86_64 1.5 MB/s | 9.1 MB 00:05
依存関係が解決しました。
================================================================================
パッケージ Arch バージョン Repo サイズ
================================================================================
インストール中:
squid x86_64 7:4.4-8.module_el8.3.0+623+2bb85980.2 AppStream 3.5 M
依存関係のインストール中:
libecap x86_64 1.0.1-2.module_el8.3.0+395+6cb406eb AppStream 29 k
perl-Digest-SHA x86_64 1:6.02-1.el8 AppStream 66 k
モジュールストリームの有効化中:
squid 4

トランザクションの概要
================================================================================
インストール 3 パッケージ

ダウンロードサイズの合計: 3.6 M
インストール済みのサイズ: 12 M
パッケージのダウンロード:
(1/3): libecap-1.0.1-2.module_el8.3.0+395+6cb40 277 kB/s | 29 kB 00:00
(2/3): perl-Digest-SHA-6.02-1.el8.x86_64.rpm 443 kB/s | 66 kB 00:00
(3/3): squid-4.4-8.module_el8.3.0+623+2bb85980. 4.2 MB/s | 3.5 MB 00:00
--------------------------------------------------------------------------------
合計 2.9 MB/s | 3.6 MB 00:01
トランザクションの確認を実行中
トランザクションの確認に成功しました。
トランザクションのテストを実行中
トランザクションのテストに成功しました。
トランザクションを実行中
scriptlet の実行中: squid-7:4.4-8.module_el8.3.0+623+2bb85980.2.x86_64 1/1
準備 : 1/1
インストール中 : perl-Digest-SHA-1:6.02-1.el8.x86_64 1/3
インストール中 : libecap-1.0.1-2.module_el8.3.0+395+6cb406eb.x86_64 2/3
scriptlet の実行中: libecap-1.0.1-2.module_el8.3.0+395+6cb406eb.x86_64 2/3
scriptlet の実行中: squid-7:4.4-8.module_el8.3.0+623+2bb85980.2.x86_64 3/3
インストール中 : squid-7:4.4-8.module_el8.3.0+623+2bb85980.2.x86_64 3/3
scriptlet の実行中: squid-7:4.4-8.module_el8.3.0+623+2bb85980.2.x86_64 3/3

検証 : libecap-1.0.1-2.module_el8.3.0+395+6cb406eb.x86_64 1/3
検証 : perl-Digest-SHA-1:6.02-1.el8.x86_64 2/3
検証 : squid-7:4.4-8.module_el8.3.0+623+2bb85980.2.x86_64 3/3
Installed products updated.

インストール済み:
libecap-1.0.1-2.module_el8.3.0+395+6cb406eb.x86_64
perl-Digest-SHA-1:6.02-1.el8.x86_64
squid-7:4.4-8.module_el8.3.0+623+2bb85980.2.x86_64

完了しました!

もしインターネットに接続されていない場合は個別に以下のパッケージのインストールでsquid の導入が可能でした。これらはすべて CentOS のイメージに保管(Packagesディレクトリ)されており、別途インターネットからのダウンロードは不要でした。

squid-3.5.20-15.el7_8.1.x86_64.rpm
libecap-1.0.0-1.el7.x86_64.rpm
perl-digest-md5-2.52-3.el7.x86_64.rpm
perl-digest-1.17-245.el7.noarch.rpm
squid-migration-script-3.5.20-15.el7_8.1.x86_64.rpm

インストール確認

以下コマンドで正常インストールの確認が可能です。

(1)squid サービスを起動する

# systemctl start squid.service

(2)状態を確認する

以下のコマンドで状態の確認が可能です。

 # systemctl status squid.service
● squid.service - Squid caching proxy
Loaded: loaded (/usr/lib/systemd/system/squid.service; disabled; vendor pres>
Active: active (running) since Wed 2021-03-24 22:38:48 EDT; 1h 7min ago
Docs: man:squid(8)
Process: 45422 ExecStart=/usr/sbin/squid $SQUID_OPTS -f $SQUID_CONF (code=exi>
Process: 45417 ExecStartPre=/usr/libexec/squid/cache_swap.sh (code=exited, st>
Main PID: 45424 (squid)
Tasks: 3 (limit: 4700)
Memory: 22.6M
CGroup: /system.slice/squid.service
tq45424 /usr/sbin/squid -f /etc/squid/squid.conf
tq45426 (squid-1) --kid squid-1 -f /etc/squid/squid.conf
mq45427 (logfile-daemon) /var/log/squid/access.log

3月 24 22:38:48 localhost.localdomain systemd[1]: Starting Squid caching proxy>
3月 24 22:38:48 localhost.localdomain systemd[1]: Started Squid caching proxy.
3月 24 22:38:48 localhost.localdomain squid[45424]: Squid Parent: will start 1>
3月 24 22:38:48 localhost.localdomain squid[45424]: Squid Parent: (squid-1) pr>

以下コマンドで Squid デフォルトポート3128が空いているか確認可能です。TCP/3128 が空いている場合は"Connected to localhost"と表示されるはずです。

# telnet localhost 3128
Trying ::1...
Connected to localhost.
Escape character is '^]'.

次の例では3128番ポートが開いているか確認後、squid サービスを停止して3128が閉じていることを確認しています。

# netstat -an | grep 3128
tcp6 0 0 :::3128 :::* LISTEN
# systemctl stop squid
# netstat -an | grep 3128
# systemctl start squid
# netstat -an | grep 3128
tcp6 0 0 :::3128 :::* LISTEN

ログファイル

squid に関する主なログファイルは以下の通りです。

(1)クライアントからのアクセスログ
/var/log/squid/access.log

(2)システムログ
/var/log/squid/cache.log

プロキシ機能

Windows 10 などをクライアントにしてテストしてみます。IEのプロキシ設定で Squid の IPアドレスとポートを指定します。これでインターネット接続はSquid経由となります。

アクセスした場合、"/var/log/squid/access.log"にアクセス先のURLがログとして記録されるはずです。

もし Squid が停止している場合はIEに以下のエラーが出力されます。Squidサービスが起動されていることや、Squidサービスへのネットワーク接続を確認する必要があります。

プロキシ サーバーは応答していません

•[ツール] > [インターネット オプション] > [接続] でプロキシ設定 192.168.11.18:3128 を確かめてください。
LAN を使っている場合は、[LAN の設定] をクリックしてください。
•ファイアウォールの設定によって Web アクセスがブロックされていないか確かめてください。
•システム管理者に問い合わせてください。

[Squid CentOS まとめ]