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 アクセスがブロックされていないか確かめてください。 •システム管理者に問い合わせてください。 |