Squidの起動

まだインストールしていない場合は、squidパッケージをインストールします。squidはデフォルトのSUSE Linux Enterprise Serverインストールスコープに含まれていません。

SquidはSUSEŽ Linux Enterprise Serverで事前に設定されているため、インストール直後に起動できます。スムーズに起動するように、インターネットおよび少なくとも1つのネームサーバにアクセスできるようにネットワークを設定してください。ダイナミックDNS設定でダイヤルアップ接続を使用すると、問題が発生する可能性があります。このような場合は、少なくともネームサーバを明確に入力してください。というのは、/etc/resolv.conf内でDNSサーバが検出されないとSquidが起動しないためです。

Squidの起動コマンドと停止コマンド

Squidを起動するには、root権限でコマンドラインに「rcsquid start」と入力します。初期起動時には、最初に /var/cache/squid内でキャッシュのディレクトリ構造を定義する必要があります。この操作は、/etc/init.d/squid起動スクリプトにより自動的に実行され、完了までに数秒ないし数分かかります。右側に緑で完了と表示されたら、Squidは正常にロードされています。ローカルシステム上でSquidの機能をテストするには、ブラウザでプロキシとして「localhost」、ポートとして「3128」を入力します。

/etc/squid/squid.conf設定ファイルでは、プロキシへのアクセスを管理するACLを定義します。ACLの詳細については、29.4.2項 「アクセス制御オプション」およびhttp_access付近のsquid.confファイルにあるコメントを参照してください。

設定ファイル/etc/squid/squid.confを変更した後、Squidで変更後の設定ファイルを再ロードする必要があります。それには、rcsquid reloadを使用します。または、「rcsquid restart」と入力してSquidを完全に再起動します。

プロキシが稼動しているかどうかを確認するには、rcsquid statusコマンドを使用します。rcsquid stopコマンドでSquidがシャットダウンします。Squidは、クライアントへの接続が切断されてデータがディスクに書き込まれるまで最大30秒(/etc/squid/squid.confshutdown_lifetimeオプション)待機するため、終了までに少し時間がかかることがあります。

[Warning]Squidの終了

killまたはkillallを使ってSquidを終了すると、キャッシュが破損してしまう可能性があります。Squidを再起動できるようにするには、破損したキャッシュを完全に削除する必要があります。

Squidが正常に起動しても短時間で停止する場合は、ネームサーバエントリに誤りがないかどうかと、/etc/resolv.confファイルが欠落していないかどうかを確認してください。起動エラーの原因は、Squidにより/var/log/squid/cache.logファイルに記録されます。システムのブート時にSquidを自動的にロードする必要がある場合は、YaSTランレベルエディタを使用してSquidを必要なランレベルで有効にしてください。詳細については、7.2.3項 「YaSTでのシステムサービス(ランレベル)の設定」を参照してください。

Squidをアンインストールしても、キャッシュ階層やログファイルは削除されません。これらを削除するには、/var/cache/squidディレクトリを手動で削除します。

ローカルDNSサーバ

サーバで独自ドメインを管理しない場合も、ローカルDNSサーバをセットアップすると有効です。ローカルDNSサーバは単にキャッシュ専用ネームサーバとして機能し、特に設定しなくてもルートネームサーバを介してDNSリクエストを解決できます(21.4項 「ネームサーバBINDの起動」を参照)。ローカルDNSサーバを有効にする方法は、インターネット接続の設定時にダイナミックDNSを選択したかどうかによって異なります。

ダイナミックDNS

通常、ダイナミックDNSを使用すると、インターネット接続の確立時にプロバイダによってDNSサーバが設定され、ローカルの/etc/resolv.confファイルが自動的に調整されます。この動作は/etc/sysconfig/network/configファイルのNETCONFIG_DNS_POLICY sysconfig変数で制御されます。YaST sysconfigエディタで、NETCONFIG_DNS_POLICY""に設定します(7.3.1項 「YaSTのsysconfigエディターを使ってシステム設定を変更する」を参照してください)。次に、/etc/resolv.confファイルに、ローカルのDNSサーバとして「localhost」、そのIPアドレスとして「127.0.0.1」を入力します。このようにすれば、Squidは常に、起動時にローカルのネームサーバを検出できます。

プロバイダのネームサーバにアクセスするには、/etc/named.conf設定ファイル内のforwardersにサーバ名とそのIPアドレスを入力します。ダイナミックDNSを使用すると、sysconfig変数のNETCONFIG_DNS_POLICYを「auto」に設定することによって、この動作を接続の確立時に自動的に実行することができます。

スタティックDNS

スタティックDNSを使用する場合は、接続の確立時にいずれの自動DNS調整も行われないため、sysconfig変数を変更する必要はありません。ただし、/etc/resolv.confファイルにローカルのDNSサーバを入力する必要があります。また、プロバイダのスタティックなネームサーバにアクセスするには、/etc/named.confファイルに、サーバ名forwardersとそのIPアドレスを手動で入力する必要があります。

[Tip]DNSとファイアウォール

ただし、ファイアウォールを実行している場合は、DNSリクエストがファイアウォールを通過できることを確認してください。