0
1

More than 1 year has passed since last update.

squidを使ってみる

Last updated at Posted at 2023-07-05

やりたいこと

squidを通ってwebサーバーにアクセスする。

構成図.jpg

squidのインストール

[root@proxy ~]# yum install -y squid

squidの設定ファイルの編集

/etc/squid/squid.conf
acl client2 src 192.168.56.108 ★ACLの設定
http_access allow client2 ★クライアント2を許可する

squidの再起動をする

[root@proxy ~]# systemctl restart squid

webブラウザでプロキシを使うように設定

firefoxで設定→インターネット接続から手動でプロキシーを設定するを選択。
プロキシのIPアドレスとポートを入力

クライアント2からwebサーバーに接続してみる

接続確認.jpg

プロキシをちゃんと通って接続できているかログ確認する。

/var/log/squid/access.log
1688543426.843     11 192.168.56.108 TCP_MISS/200 405 GET http://web.linux.com/ - HIER_DIRECT/192.168.56.105 text/html

ステータスコード200なので無事にGETリクエストが完了していることを確認。
TCP_MISSはプロキシにキャッシュがないということなので通信が失敗しているといことではないです。

WEBサーバー側でもログを確認する

192.168.56.110 - - [05/Jul/2023:16:50:26 +0900] "GET / HTTP/1.1" 200 15 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Firefox/102.0"

ちゃんとステータスコード200になっていることを確認

アクセスを拒否してみる

/etc/squid/squid.conf
- http_access allow client2
+ http_access deny client2 ★denyに変更する

squidの再起動をする

[root@proxy ~]# systemctl restart squid

webサーバーに接続してみる

接続拒否.jpg

squidのログを確認する

1688544275.006      0 192.168.56.108 TCP_DENIED/403 4297 GET http://web.linux.com/ - HIER_NONE/- text/html

squidで通信を拒否しているためWEBサーバーにはログはありません。

構成図.jpg

キャッシュを利用してみる

/etc/squid/squid.conf
cache_dir ufs /var/spool/squid 100 16 256 ★#を消す

ディレクトリをキャッシュディレクトリとして使用し、そのサイズを100MBに設定し、最大16の第一レベルのサブディレクトリと、それぞれの第一レベルのサブディレクトリあたり最大256の第二レベルのサブディレクトリを作成することを指示しています。

/var/log/squid/access.log
1688546677.909      0 192.168.56.108 TCP_INM_HIT/304 304 GET http://web.linux.com/ - HIER_NONE/- text/html

TCP_INM_HITとなっているのでキャッシュを返されていることが分かります。

2つ目の項目が0となっていてこれはリクエストが完了するまでの時間です。
0となっているので即座にリクエストが完了していることが分かります。
また、HIER_NONE/-となっているためローカルキャッシュから取得されています。
-は、取得元のサーバーが存在しないことを示します。

初めてアクセスしたときのログと比較してみましょう

初めてアクセス
1688543426.843     11 192.168.56.108 TCP_MISS/200 405 GET http://web.linux.com/ - HIER_DIRECT/192.168.56.105 text/html

キャッシュを返してる
1688546677.909      0 192.168.56.108 TCP_INM_HIT/304 304 GET http://web.linux.com/ - HIER_NONE/- text/html

初めてアクセスしているときは2つ目の項目が11になっています。
HIER_DIRECT/192.168.56.105となっているので192.168.56.105にデータを取りに行っていることが分かります。

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1