isLandcenter 非番中

ブログトップ | ログイン

SUSE Linux 15 (SLES15)で Squid Proxy サーバーの構築、インストール

ここでは SUSE Linux Enterprise 15 (SLES15) で、Squid Proxy キャッシュサーバーの構築手順について説明します。若干 openSUSE とは手順が違うので、異なる点はコメントしておきました。

メディアからOSのインストール、パーティション分割、Squidのインストールと初期設定までを7分弱の動画にまとめました(派手な音が出ます)


全体の流れは動画を見てご理解いただければ幸いです。

ここから先は、 openSUSE とは違う SLES15 固有のポイントを説明します。

- アドオンのインストール -

SLES15 では、アドオンのインストールの際に、登録されたリポジトリか、インストールDVD以外にパッケージDVDの1枚目のメディアが必要です。全て1枚で済む openSUSE Leap 15 とはその点が異なります。

ここでは、DVDをインストールソースにしているので、パッケージDVDに差し替えが必要です。

a0056607_16322383.png


メディア交換

メディア交換をして Next を押すと、 利用可能な Extension のリストが出てくるので、"Basesystem", "Desktop-Applications", "Server-Applications" の各 Modules をチェックします。openSUSE は一枚もののインストールDVDなので、この手間はありません。

a0056607_16324729.png




- パーティションの設定 -

パーティションの設計です。

キャッシュは /var/cache/squid の下に作成されるため、"/var" がシステムとは別の物理ディスク、別パーティションとなるのが理想です。I/O の性能を考えて、SAS-Raid や SSDの様な高速なメディアを使うと良いでしょう。プロポーザルのパーティション提案から、Expert モードに入ってパーティションを調整しました。

a0056607_16333784.png


/var は二台目の物理ディスクに作られます。仮想環境においては、この仮想イメージファイルを SSD に作るとか、直接パーティションを指定するなどの方法もあります。

a0056607_16335553.png



後は指示に従って、パッケージのインストール、再起動を行います。


- yast2-squid によるパッケージのインストール -

SLES15 では初期状態では YaST に squid のメニューがありません。

openSUSE Leap 15 の場合は、通常にインストールすれば、YaST メニューに squid アイコンがあります。

SLESの場合、まず、YaST > Software Management から、 yast2-squid を Search して、インストールしておきます。

a0056607_16342070.png

一旦、yast を終了して、YaST を再起動すると Squid アイコンが出てくるので、ここからは、YaST の指示に従って、インストール/設定をします。

a0056607_16343622.png



Start Up のセッションで、"When Booting" をチェックして、"Start Squid Now" を押すと、squid はデフォルト状態で起動します。

a0056607_16360914.png


yast-squid で設定できる項目は、ディレクトリなどの指定や、アクセス許可/拒否リスト、キャッシュのサイズなどだけです。

細かなパラメータは直接 /etc/squid/squid.conf を調整する必要があります。




- 固定IPの設定 -

もちろん、 Squid Proxy は、固定IPを設定すべきですから YaST > System > Network Settings から固定 IP を設定しておきます。



この状態で、各ユーザのプロクシ設定を行えば Squid は一応、デフォルト状態で動作します。

SUSE Linux (SLES12)  YaST で固定 IP アドレスの設定をする。



- SLES,openSUSE のプロクシクライアントの設定 -

話は逸れますが、 SLES, openSUSE のプロクシクライアントの設定は YaST > Network Services > Proxy から設定します。今回はテスト環境なので自ホストが自プロクシを参照しています。

a0056607_16363676.png


YaST2 のプロクシの設定画面です。

a0056607_16365280.png


これで、プロクシが機能しているか確認してみましょう。

確認くん

診断くん

確認くんで調べると、プロクシのバージョンが表示されました。どうやら Squid Proxy は動作しているようです。

a0056607_16374807.png


しかし、デフォルトでは、プロクシを使っているのがバレバレで、構内ネットワークの端末名、IPアドレスまで表示されます。”forwarded_for off" を設定すると、これらの内部情報は相手に送られなくなるので必ず設定しておくと良いでしょう。



- /etc/squid/squid.conf の書き換え -

他にも Proxy 経由での接続を拒否するサイトなどもあるため、できるだけプロクシ経由であることを秘匿しなければなりません。/etc/squid/squid.conf に付け加えるのは次の行です。

visible_hostname unknown
forwarded_for off
request_header_access X-FORWARDED-FOR deny all
request_header_access Via deny all
request_header_access Cache-Control deny all

squid を再起動します

# systemctl restart squid

※ squid の停止/再起動には数十秒の時間がかかります。

- squid の状態チェック-

/usr/lib64/squid/cachemgr.cgi を /srv/www/cgi-bin にコピーしておくと、ブラウザから Squid の動作状態を確認できます。

※ただし apache2 が動作している必要があります。

/etc/squid/chchemgr.conf の localhost の行に、squid.conf に設定したプロクシのポートを設定します。

a0056607_16384956.png

http://proxy-IP/cgi-bin/cachemgr.cgi を開きます。

a0056607_16390937.png


更に詳しい情報はこちらをご参考下さい。

SquidキャッシュマネージャのCGIインタフェース(cachemgr.cgi)


また、squid のクライアントアクセス状況を調べるには次のように squidclient ツールを使います。(8080 は今回 squid.confに設定したポート番号)

# squidclient -h localhost -p 8080 mgr:client_list

squidclient man page








by islandcenter | 2019-05-10 16:54 | SUSE | Comments(0)