Squidは、HTTP、HTTPS、FTPなどをサポートするWeb用のキャッシュプロキシです。頻繁に要求されるWebページをキャッシュして再利用することにより、帯域幅を減らし、応答時間を改善します。 Squidは広範なアクセス制御を備えており、優れたサーバーアクセラレータになります。利用可能なほとんどのオペレーティングシステムで動作します。
Squidsリバースプロキシは、インターネットとWebサーバー(通常はプライベートネットワーク内)の間に位置するサービスであり、受信クライアントの要求をサーバーにリダイレクトします。サーバーでは、データを簡単に取得できます。キャッシュサーバー(プロキシ)にキャッシュされたデータがない場合は、データが実際に保存されているWebサーバーにリクエストを転送します。このタイプのキャッシングでは、データの収集と、別の場所に保存されている元のデータ値の再現が可能になり、アクセスが容易になります。
リバースプロキシは通常、クライアントとWebサーバー間のインバウンドネットワークトラフィックのフローをスムーズにするための追加の制御レイヤーを提供します。
専用のSquidキャッシングプロキシサーバーとして使用するコンピューターシステムを選択する場合、Squidはパフォーマンスを向上させるためにメモリ内キャッシュを維持するため、多くのユーザーは大量の物理メモリ(RAM)で構成されていることを確認します。
関連記事:
- Ubuntu20.04にSquidプロキシをインストールして構成する方法
- Debian11にSquidプロキシをインストールして設定する方法
- OpenSUSELeap11にSquidProxyをインストールして設定する方法
前提条件
- 1GB以上のRAMを搭載した更新されたRockyLinux8サーバー
- サーバーまたはsudoアクセス権を持つユーザーへのrootアクセス
- サーバーからインターネットへのアクセス
目次
- サーバーが最新であることを確認する
- squidプロキシサーバーのインストール
- イカサービスの開始と有効化
- Webブラウザの設定
- イカの設定
- squidプロキシアクセス制御リスト(ACL)の使用
- Squidを使用してWebページをキャッシュする
1。サーバーが最新であることを確認する
先に進む前に、サーバーがパッケージを更新したことを確認しましょう。これを実現するには、次のコマンドを使用します。
sudo dnf update -y
2。 Squidプロキシサーバーのインストール
squidプロキシサーバーを提供するパッケージは、デフォルトのRockyLinuxリポジトリで利用できます。次のコマンドを使用してインストールします:
sudo dnf install -y squid
パッケージが期待どおりにインストールされたことを確認します
$ rpm -qi squid
Name : squid
Epoch : 7
Version : 4.15
Release : 1.module+el8.5.0+705+218dec94
Architecture: x86_64
Install Date: Mon 17 Jan 2022 07:07:04 PM UTC
Group : Unspecified
Size : 12402901
License : GPLv2+ and (LGPLv2+ and MIT and BSD and Public Domain)
Signature : RSA/SHA256, Tue 09 Nov 2021 11:01:49 PM UTC, Key ID 15af5dac6d745a60
Source RPM : squid-4.15-1.module+el8.5.0+705+218dec94.src.rpm
Build Date : Tue 09 Nov 2021 10:50:18 PM UTC
Build Host : ord1-prod-x86build004.svc.aws.rockylinux.org
Relocations : (not relocatable)
Packager : [email protected]
Vendor : Rocky
URL : http://www.squid-cache.org
Summary : The Squid proxy caching server
Description :
Squid is a high-performance proxy caching server for Web clients,
supporting FTP, gopher, and HTTP data objects. Unlike traditional
caching software, Squid handles all requests in a single,
non-blocking, I/O-driven process. Squid keeps meta data and especially
hot objects cached in RAM, caches DNS lookups, supports non-blocking
DNS lookups, and implements negative caching of failed requests.
Squid consists of a main server program squid, a Domain Name System
lookup program (dnsserver), a program for retrieving FTP data
(ftpget), and some management and client tools.
3。イカサービスの開始と有効化
Rocky Linux 8システムでは、squidプロキシサーバーはデフォルトでは起動されません。次のコマンドで開始します:
sudo systemctl start squid
ステータスを確認するには、次のコマンドを発行します:
$ sudo systemctl status squid
● squid.service - Squid caching proxy
Loaded: loaded (/usr/lib/systemd/system/squid.service; disabled; vendor preset: disabled)
Active: active (running) since Mon 2022-01-17 19:08:32 UTC; 6s ago
Docs: man:squid(8)
Process: 429390 ExecStartPre=/usr/libexec/squid/cache_swap.sh (code=exited, status=0/SUCCESS)
Main PID: 429396 (squid)
Tasks: 3 (limit: 23176)
Memory: 13.9M
CGroup: /system.slice/squid.service
├─429396 /usr/sbin/squid --foreground -f /etc/squid/squid.conf
├─429398 (squid-1) --kid squid-1 --foreground -f /etc/squid/squid.conf
└─429399 (logfile-daemon) /var/log/squid/access.log
Jan 17 19:08:32 dev-rockysrv.inv.re systemd[1]: Starting Squid caching proxy...
Jan 17 19:08:32 dev-rockysrv.inv.re squid[429396]: Squid Parent: will start 1 kids
Jan 17 19:08:32 dev-rockysrv.inv.re squid[429396]: Squid Parent: (squid-1) process 429398 started
Jan 17 19:08:32 dev-rockysrv.inv.re systemd[1]: Started Squid caching proxy.
上記のコマンドでサービスが実行されていることを確認できます。起動時にサービスが開始されるようにするには、enableコマンドを使用します。
sudo systemctl enable squid
4。 Webブラウザの設定
squid構成ファイルに変更を加える前に、Webブラウザーでいくつかの設定を変更する必要があります。そのため、Webブラウザを開いて「ネットワーク設定」を開き、「プロキシ設定」に進んでください。 「手動プロキシ」構成をクリックしてから、IP_Addressを記述します。 HTTPプロキシバーにあるsquidプロキシサーバーの およびポート番号 (デフォルトでは、squidプロキシポートは3128です)。これで、squidプロキシはIPアドレスを通過します。 Webブラウザに任意のURLを入力して確認できます。アクセスが拒否されたことを示すエラーが表示されます。アクセスを許可するには、squid構成ファイルに変更を加える必要があります。
5。 Squidの構成
デフォルトのSquid構成ファイルは、/etc/squid/
にあります。 ディレクトリであり、メインの構成ファイルはsquid.conf
と呼ばれます。 。このファイルには、Squidの動作を変更するために変更できる構成ディレクティブの大部分が含まれています。 #
で始まる行 、コメントアウトされているか、ファイルによって読み取られていません。これらのコメントは、関連する構成設定の意味を説明するために提供されています。
構成ファイルを編集するには、問題が発生した場合に変更を元に戻す必要がある場合や、新しいファイル構成を比較するために使用する必要がある場合に備えて、元のファイルのバックアップを取ることから始めましょう。
sudo cp /etc/squid/squid.conf /etc/squid/squid.conf.bak
バックアップファイルとしてコピーが作成されたので、「squid.conf」ファイルに変更を加えることができます。
vimで「squid.conf」ファイルを開くには、次のコマンドを入力します:
sudo vim /etc/squid/squid.conf
行に移動
http_access deny all
次のように変更します:
http_access allow all
変更を適用するには、squidプロキシサーバーを再起動する必要があります。次のコマンドを使用します:
sudo systemctl restart squid
ここで、Webブラウザーをもう一度確認し、任意のURLを入力すると、機能するはずです。
6。 squidプロキシの使用ACL(アクセス制御リスト)
また、Squidを使用して、さまざまなWebサイト(Webトラフィック)へのアクセスを許可またはブロックすることで制御することもできます。これを行うには、acl CONNECT method CONNECT
の行に移動します。 。
そして、この行の下に、必要なWebサイトをブロックするためのACL(アクセス制御リスト)を記述します。
acl block_websites dstdomain .facebook.com .youtube.com .instagram.com
次に、ステートメントを拒否します。
http_access deny block_websites
変更を保存し、ブロックされたWebサイトがブロックされているかどうかを確認するには、squidサービスを再起動し、WebブラウザーでURLを確認します。
ACL を使用して、ユーザーがオーディオファイルやビデオファイルなどの特定のファイルをダウンロードするのをブロックすることもできます。 。
acl media_files urlpath_regex -i \.(mp3|mp4|FLV|AVI|MKV)
これにより、ユーザーはmp3、mp4、FLVなどの拡張子を持つオーディオまたはビデオファイルをダウンロードできなくなります。ダウンロードを防止したいファイル拡張子を追加してください。次に、この行の下に、拒否ステートメントを記述します。
http_access deny media_files
その後、メディアファイルのダウンロードがブロックされます。
7。 Squidを使用してWebページをキャッシュする
プロキシサーバーは、ウェブサイトのデータをキャッシュすることでウェブページをより速く読み込むことでネットワークパフォーマンスを向上させるためにも使用されます。キャッシュされたデータを保存するディレクトリの場所を変更することもできます。さらに、キャッシュファイルのサイズと番号を変更することもできます。データが保存されるディレクトリの数。
変更するには、squid.conf
を開きます ファイルを作成し、次の行に移動します:
#cache_dir ufs /var/spool/squid 100 16 256
この行はデフォルトでコメント化されるため、#
を削除してこの行のコメントを解除します サイン。
上記の行には、「 100 16256」というフレーズがあります。 」。 100 はキャッシュファイルのサイズを示しており、300などの任意のサイズに変更できます。 16 キャッシュファイルが保存されているディレクトリの数を示します。 256 を示しています。サブディレクトリの。
cache_dir ufs /var/spool/squid 100 16 256
「squid.conf」ファイルに次の行を追加して、キャッシュファイルのサイズを変更することもできます。
cache_mem 300 MB
キャッシュファイルディレクトリのパスを変更する場合は、次のコマンドを使用して新しいdir構造を作成します。
sudo mkdir -p /path/where/you/want/to/place/file
キャッシュディレクトリの所有権をsquidプロキシに変更するには、次のコマンドを実行する必要があります。
sudo chown -R proxy:proxy /path/where/you/want/to/place/file
次に、次のコマンドを使用してsquidサービスを停止します。
sudo systemctl stop squid
次に、このコマンドを指定してコマンドを実行し、不足しているキャッシュディレクトリを新しいキャッシュディレクトリに作成します。
sudo squid -z
次に、以下のコマンドを使用してsquidサービスを再開します。
sudo systemctl start squid
まとめ
このガイドでは、squidプロキシサーバーをインストールして構成することができました。 Squidプロキシは、組織や小規模なインターネットサービスプロバイダーがWebトラフィックとインターネットアクセスを制御するために使用できる非常に優れたツールです。 Webブラウジング速度を向上させ、Webトラフィックのセキュリティメカニズムを提供します。