Squidは、HTTP、HTTPS、FTPなどをサポートするWeb用のキャッシュプロキシです。頻繁に要求されるWebページをキャッシュして再利用することにより、帯域幅を減らし、応答時間を改善します。 Squidは広範なアクセス制御を備えており、優れたサーバーアクセラレータになります。利用可能なほとんどのオペレーティングシステムで動作します。
Squidsリバースプロキシは、インターネットとWebサーバー(通常はプライベートネットワーク内)の間に位置するサービスであり、受信クライアントの要求をサーバーにリダイレクトします。サーバーでは、データを簡単に取得できます。キャッシュサーバー(プロキシ)にキャッシュされたデータがない場合は、データが実際に保存されているWebサーバーにリクエストを転送します。このタイプのキャッシングでは、データの収集と、別の場所に保存されている元のデータ値の再現が可能になり、アクセスが容易になります。
リバースプロキシは通常、クライアントとWebサーバー間のインバウンドネットワークトラフィックのフローをスムーズにするための追加の制御レイヤーを提供します。
専用のSquidキャッシングプロキシサーバーとして使用するコンピューターシステムを選択する場合、Squidはパフォーマンスを向上させるためにメモリ内キャッシュを維持するため、多くのユーザーは大量の物理メモリ(RAM)で構成されていることを確認します。
関連コンテンツ:
- Debian11にSquidプロキシをインストールして設定する方法
前提条件
- 1GB以上のRAMを搭載した更新されたUbuntu20.04サーバー
- サーバーまたはsudoアクセス権を持つユーザーへのrootアクセス
- サーバーからインターネットへのアクセス
目次
- サーバーが最新であることを確認する
- squidプロキシサーバーのインストール
- イカサービスの開始と有効化
- Webブラウザの設定
- イカの設定
- squidプロキシアクセス制御リスト(ACL)の使用
- Squidを使用してWebページをキャッシュする
1。サーバーが最新であることを確認する
先に進む前に、サーバーがパッケージを更新したことを確認しましょう。これを実現するには、次のコマンドを使用します。
sudo apt update
sudo apt upgrade -y
2。 Squidプロキシサーバーのインストール
squidプロキシサーバーを提供するパッケージは、デフォルトのUbuntuリポジトリで利用できます。次のコマンドを使用してインストールします:
sudo apt install -y squid
パッケージが期待どおりにインストールされたことを確認します
$ apt-cache policy squid
squid:
Installed: 4.10-1ubuntu1.5
Candidate: 4.10-1ubuntu1.5
Version table:
*** 4.10-1ubuntu1.5 500
500 http://us-west-2.ec2.archive.ubuntu.com/ubuntu focal-updates/main amd64 Packages
500 http://security.ubuntu.com/ubuntu focal-security/main amd64 Packages
100 /var/lib/dpkg/status
4.10-1ubuntu1 500
500 http://us-west-2.ec2.archive.ubuntu.com/ubuntu focal/main amd64 Packages
3。イカサービスの開始と有効化
squidプロキシサーバーは、Ubuntuシステムでデフォルトで起動されます。ステータスを確認するには、次のコマンドを発行します:
$ sudo systemctl status squid
● squid.service - Squid Web Proxy Server
Loaded: loaded (/lib/systemd/system/squid.service; enabled; vendor preset: enabled)
Active: active (running) since Mon 2022-01-03 06:44:10 UTC; 15s ago
Docs: man:squid(8)
Process: 48771 ExecStartPre=/usr/sbin/squid --foreground -z (code=exited, status=0/SUCCESS)
Process: 48774 ExecStart=/usr/sbin/squid -sYC (code=exited, status=0/SUCCESS)
Main PID: 48776 (squid)
Tasks: 4 (limit: 4631)
Memory: 15.5M
CGroup: /system.slice/squid.service
├─48776 /usr/sbin/squid -sYC
├─48778 (squid-1) --kid squid-1 -sYC
├─48779 (logfile-daemon) /var/log/squid/access.log
└─48780 (pinger)
Jan 03 06:44:10 ubuntusrv.citizix.com squid[48778]: Max Swap size: 0 KB
Jan 03 06:44:10 ubuntusrv.citizix.com squid[48778]: Using Least Load store dir selection
Jan 03 06:44:10 ubuntusrv.citizix.com squid[48778]: Set Current Directory to /var/spool/squid
Jan 03 06:44:10 ubuntusrv.citizix.com squid[48778]: Finished loading MIME types and icons.
Jan 03 06:44:10 ubuntusrv.citizix.com squid[48778]: HTCP Disabled.
Jan 03 06:44:10 ubuntusrv.citizix.com squid[48778]: Pinger socket opened on FD 14
Jan 03 06:44:10 ubuntusrv.citizix.com squid[48778]: Squid plugin modules loaded: 0
Jan 03 06:44:10 ubuntusrv.citizix.com squid[48778]: Adaptation support is off.
Jan 03 06:44:10 ubuntusrv.citizix.com squid[48778]: Accepting HTTP Socket connections at local=[::]:3128 remote=[::] FD 12 flags=9
Jan 03 06:44:11 ubuntusrv.citizix.com squid[48778]: storeLateRelease: released 0 objects
上記のコマンドでサービスが実行されていることを確認できます。起動時にサービスが開始されるようにするには、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
を開きます ファイルを作成し、次の行に移動します:
#chache_dir ufs /opt/squid/var/cache/squid 100 16 256
この行はデフォルトでコメント化されるため、#
を削除してこの行のコメントを解除します サイン。
上記の行には、「 100 16256」というフレーズがあります。 」。 100 はキャッシュファイルのサイズを示しており、300などの任意のサイズに変更できます。 16 キャッシュファイルが保存されているディレクトリの数を示します。 256 を示しています。サブディレクトリの。
chache_dir ufs /opt/squid/var/cache/squid 300 20 260
「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トラフィックのセキュリティメカニズムを提供します。