12.3. Squid の設定
Squid を設定するには、設定ファイルのディレクティブを調節します。Squid は通常、特定のネットワークの要件に合わせて、コマンドラインを使用して /etc/squid/squid.conf に配置されている Squid 設定ファイルを編集して設定します。この squid.conf ファイルには推奨の最小構成が含まれています。
12.3.1. 基本設定および /etc/squid/squid.conf
手順12.1 基本設定
- 元の config ファイルをバックアップします。
mv /etc/squid/squid.conf /etc/squid/squid.conf.org - 以下の内容を使用して、新規の
/etc/squid/squid.confファイルを作成します。mynetwork のアクセス制御リスト (ACL) の行を編集して、ローカルネットワークのソースネットワークを定義します。これは、クライアントのシステムがSquidサーバーをプロキシーとして使用するネットワークのことです。注記
Squidはファイルを最初から読み込んでいくので/etc/squid/squid.conf設定ファイルのアイテムの順番は重要です。acl mynetwork src xxx.xxx.xxx.0/24 http_access allow mynetwork #defaults acl localnet src 10.0.0.0/8 acl localnet src 172.16.0.0/12 acl localnet src 192.168.0.0/16 acl localnet src fc00::/7 acl localnet src fe80::/10 acl SSL_ports port 443 acl Safe_ports port 80 acl Safe_ports port 21 acl Safe_ports port 443 acl Safe_ports port 70 acl Safe_ports port 210 acl Safe_ports port 1025-65535 acl Safe_ports port 280 acl Safe_ports port 488 acl Safe_ports port 591 acl Safe_ports port 777 acl CONNECT method CONNECT http_access allow manager localhost http_access deny manager http_access deny !Safe_ports http_access deny CONNECT !SSL_ports http_access allow localnet http_access allow localhost http_access deny all http_port 3128 hierarchy_stoplist cgi-bin ? coredump_dir /var/spool/squid refresh_pattern ^ftp: 1440 20% 10080 refresh_pattern ^gopher: 1440 0% 1440 refresh_pattern -i (/cgi-bin/|\?) 0 0% 0 refresh_pattern . 0 20% 4320
- サービスを起動して、ブート時に有効になるように設定します。
~]#
systemctl enable squid~]#systemctl start squid - ファイアウォールを有効化する場合には、
Squidポートを許可します。~]#
firewall-cmd --add-port=3128/tcp --permanent - Web ブラウザーがプロキシーを使用するように設定します。これは、使用するブラウザーとバージョンにより左右されます。たとえば、バージョン 46.0.0 の Firefox を設定するには以下を実行してください。
手順12.2 プロキシーを使用して Firefox を設定する
- Firefox の右上端にあるメニューから を選択します。左のタブから を選択して、上部のバーにあるタブから を選択します。
- 接続 のセクションで、 を開きます。
- 開いた新規ウィンドウで、手動でプロキシーを設定する にチェックを入れて、HTTP プロキシー フィールドに接続先のプロキシーサーバーを入力します。固有のポートを入力する必要がある場合には、ポート フィールドに入力します。
/etc/squid/squid.conf に関する詳しい情報は squid(8) の man ページを参照してください。
12.3.2. HTTP プロキシーサーバーとしての Squid を設定する
手順12.3 HTTP プロキシーサーバーとしての Squid を設定する
/etc/squid/squid.confファイルの一番上に以下の行を追加してください。IP アドレスの例は実際の IP アドレスに置き換えてください。cache_dir ufs /var/spool/squid 500 16 256 acl my_machine src 192.0.2.21 # Replace with your IP address http_access allow my_machine
- 以下のコマンドを使用してキャッシュディレクトリーを作成します。
~]#
systemctl restart squidSquidは、マシン上にある全ネットワークインターフェースのポート 3128 (デフォルト) のリッスンを開始するようになります。 - Firefox などのブラウザーがマシンの IP アドレスとポート 3128 のホストで HTTP プロキシーサーバーとして
Squidを使用するように設定します。詳細は 手順12.2「プロキシーを使用して Firefox を設定する」を参照してください。
12.3.2.1. HTTP ポートの設定
http_port ディレクティブを使用して、Squid がクライアントの接続をリッスンするポートを指定します。デフォルトの動作は、マシンで利用可能なすべてのインターフェースのポート 3128 をリッスンします。異なるインターフェースの異なるポートや、複数のインターフェースを強制的に Squid にリッスンさせることができます。
例12.1 HTTP ポートの指定
/etc/squid/squid.conf を開いて、適切な行を編集します。この例では、Squid はポート 8080 をリッスンするように設定します。
# Squid normally listens to port 3128 http_port 8080
Squid サーバーは、同時に複数のポートをリッスンすることができます。
例12.2 2 つ以上のポートの指定
Squid はポート 8080 と 9090 の両方をリッスンします。
http_port 8080 9090
注記
Squid サーバーを再起動して新規設定を適用するのは忘れないでください。
~]# systemctl restart squid/etc/squid/squid.conf で IP アドレスおよびポートの組み合わせも指定してください。通常、マシンに複数のインターフェースがあり、Squid にローカルエリアネットワーク (LAN) に接続されているインターフェースのみをリッスンするようにする場合にはこのアプローチを使用します。
例12.3 IP アドレスの設定
Squid に対して IP アドレスが 192.0.2.25 のインターフェースのポート 3128 をリッスンするように指示を出します。
http_port 192.0.2.25:3128
http_port を指定できます。ホスト名は、Squid により IP アドレスに変換され、特定の IP アドレスのポート 8080 をリッスンします。
http_port myproxy.example.com:8080
http_port ディレクティブの別の特長として、別の行で複数の値を受け入れることができます。以下の行は、Squid が 3 つの異なる IP アドレスとポートの組み合わせをリッスンするようにトリガーします。一般的にこれは、異なる LAN にクライアントがあり、プロキシーサーバーに異なるポートを使用するように設定されている場合に役立ちます。/etc/squid/squid.conf ファイルを以下のように編集します。
http_port 192.0.2.25:8080 http_port lan1.example.com:3128 http_port lan2.example.com:8081
12.3.2.2. ACL および HTTP のアクセス制御
http_access などの他のディレクティブと組み合わせて使用して、さまざまな Squid のコンポーネントと Web リソースへのアクセスを制御します。
例12.4 ドメイン名向けの ACL 構築
acl example_site dstdomain example.com
dstdomain で、この値 (Web サイト) はドメイン名であると指定します。
acl FB dstdomain facebook.com
- 単一の行に値を記述してください。
acl example_sites dstdomain example.com example.net example.org
- 値が大幅に増加する場合に向け、複数の行に分けて値を記述します。
acl example_sites dstdomain example.com example.net acl example_sites dstdomain example.org
- 専用のファイルに値を投入して、
Squidがそのファイルから値を読みこむように指示します。acl example_sites dstdomain '/etc/squid/example_sites.txt'
/etc/squid/example_sites.txtの内容は以下のようになります。# Write one value (domain name) per line example.net example.org # Temporarily remove example.org from example_sites acl example.com
重要
http_access は、Squid 経由で HTTP トランザクションを実行するためのアクセスを許可する際に使用するディレクティブです。
ACL を使用した HTTP アクセスの制御
http_access ディレクティブと ACL を組み合わせる必要があります。
/etc/squid/squid.conf ファイルで http_access ディレクティブを編集します。ACL_NAME は、アクセスを許可または呼び出す必要のある要求にお聞かてください。
http_access allow|deny [!]ACL_NAME
例12.5 クライアントへのアクセスの許可または拒否
http_access allow localhost
http_access deny localhost
http_access deny !Safe_ports

Where did the comment section go?
Red Hat's documentation publication system recently went through an upgrade to enable speedier, more mobile-friendly content. We decided to re-evaluate our commenting platform to ensure that it meets your expectations and serves as an optimal feedback mechanism. During this redesign, we invite your input on providing feedback on Red Hat documentation via the discussion platform.