2019年 05月 10日
SUSE Linux 15 (SLES15)で Squid Proxy サーバーの構築、インストール
メディアからOSのインストール、パーティション分割、Squidのインストールと初期設定までを7分弱の動画にまとめました(派手な音が出ます)全体の流れは動画を見てご理解いただければ幸いです。ここから先は、 openSUSE とは違う SLES15 固有のポイントを説明します。
SLES15 では、アドオンのインストールの際に、登録されたリポジトリか、インストールDVD以外にパッケージDVDの1枚目のメディアが必要です。全て1枚で済む openSUSE Leap 15 とはその点が異なります。ここでは、DVDをインストールソースにしているので、パッケージDVDに差し替えが必要です。
メディア交換をして Next を押すと、 利用可能な Extension のリストが出てくるので、"Basesystem", "Desktop-Applications", "Server-Applications" の各 Modules をチェックします。openSUSE は一枚もののインストールDVDなので、この手間はありません。
パーティションの設計です。キャッシュは /var/cache/squid の下に作成されるため、"/var" がシステムとは別の物理ディスク、別パーティションとなるのが理想です。I/O の性能を考えて、SAS-Raid や SSDの様な高速なメディアを使うと良いでしょう。プロポーザルのパーティション提案から、Expert モードに入ってパーティションを調整しました。/var は二台目の物理ディスクに作られます。仮想環境においては、この仮想イメージファイルを SSD に作るとか、直接パーティションを指定するなどの方法もあります。
SLES15 では初期状態では YaST に squid のメニューがありません。openSUSE Leap 15 の場合は、通常にインストールすれば、YaST メニューに squid アイコンがあります。SLESの場合、まず、YaST > Software Management から、 yast2-squid を Search して、インストールしておきます。一旦、yast を終了して、YaST を再起動すると Squid アイコンが出てくるので、ここからは、YaST の指示に従って、インストール/設定をします。Start Up のセッションで、"When Booting" をチェックして、"Start Squid Now" を押すと、squid はデフォルト状態で起動します。yast-squid で設定できる項目は、ディレクトリなどの指定や、アクセス許可/拒否リスト、キャッシュのサイズなどだけです。細かなパラメータは直接 /etc/squid/squid.conf を調整する必要があります。
もちろん、 Squid Proxy は、固定IPを設定すべきですから YaST > System > Network Settings から固定 IP を設定しておきます。この状態で、各ユーザのプロクシ設定を行えば Squid は一応、デフォルト状態で動作します。SUSE Linux (SLES12) YaST で固定 IP アドレスの設定をする。
話は逸れますが、 SLES, openSUSE のプロクシクライアントの設定は YaST > Network Services > Proxy から設定します。今回はテスト環境なので自ホストが自プロクシを参照しています。YaST2 のプロクシの設定画面です。これで、プロクシが機能しているか確認してみましょう。確認くん診断くん確認くんで調べると、プロクシのバージョンが表示されました。どうやら Squid Proxy は動作しているようです。しかし、デフォルトでは、プロクシを使っているのがバレバレで、構内ネットワークの端末名、IPアドレスまで表示されます。”forwarded_for off" を設定すると、これらの内部情報は相手に送られなくなるので必ず設定しておくと良いでしょう。
他にも Proxy 経由での接続を拒否するサイトなどもあるため、できるだけプロクシ経由であることを秘匿しなければなりません。/etc/squid/squid.conf に付け加えるのは次の行です。visible_hostname unknownforwarded_for offrequest_header_access X-FORWARDED-FOR deny allrequest_header_access Via deny allrequest_header_access Cache-Control deny allsquid を再起動します# systemctl restart squid※ squid の停止/再起動には数十秒の時間がかかります。
/usr/lib64/squid/cachemgr.cgi を /srv/www/cgi-bin にコピーしておくと、ブラウザから Squid の動作状態を確認できます。※ただし apache2 が動作している必要があります。/etc/squid/chchemgr.conf の localhost の行に、squid.conf に設定したプロクシのポートを設定します。
http://proxy-IP/cgi-bin/cachemgr.cgi を開きます。
更に詳しい情報はこちらをご参考下さい。SquidキャッシュマネージャのCGIインタフェース(cachemgr.cgi)また、squid のクライアントアクセス状況を調べるには次のように squidclient ツールを使います。(8080 は今回 squid.confに設定したポート番号)# squidclient -h localhost -p 8080 mgr:client_listsquidclient man page