アンドロイド

CentOS 7でのsquidプロキシのインストールおよび構成方法

YUM Repository Configuration RHEL 7 | RHCSA Certification #10 | Tech Arkit | EX200

YUM Repository Configuration RHEL 7 | RHCSA Certification #10 | Tech Arkit | EX200

目次:

Anonim

Squidは、HTTP、HTTPS、FTPなどの一般的なネットワークプロトコルをサポートするフル機能のキャッシュプロキシです。 SquidをWebサーバーの前に配置すると、繰り返し要求をキャッシュし、Webトラフィックをフィルタリングし、地理的に制限されたコンテンツにアクセスすることにより、サーバーのパフォーマンスを大幅に改善できます。

このチュートリアルでは、CentOS 7でSquidを設定し、プロキシを使用するようにFirefoxおよびGoogle Chrome Webブラウザーを構成する方法について説明します。

CentOSでのSquidのインストール

Squidパッケージは、デフォルトのCentOS 7リポジトリに含まれています。 インストールするには、sudoユーザーとして次のコマンドを実行します。

sudo yum install squid

インストールが完了したら、Squidサービスを開始して有効にします。

sudo systemctl start squid sudo systemctl enable squid

インストールが成功したことを確認するには、サービスステータスを出力する次のコマンドを入力します。

sudo systemctl status squid

● squid.service - Squid caching proxy Loaded: loaded (/usr/lib/systemd/system/squid.service; enabled; vendor preset: disabled) Active: active (running) since Sat 2019-07-13 16:47:56 UTC; 12s ago…

Squidの構成

Squidは、 /etc/squid/squid.conf ファイルを編集して構成できます。 設定オプション付きの追加ファイルは、「include」ディレクティブを使用して含めることができます。

変更を行う前に、 cp コマンドを使用して元の構成ファイルをバックアップします。

sudo cp /etc/squid/squid.conf{,.orginal} ファイルを編集するには、テキストエディターで開きます。

sudo nano /etc/squid/squid.conf

デフォルトでは、Squidはサーバー上のすべてのネットワークインターフェイスのポート 3128 でリッスンするように構成されています。

/etc/squid/squid.conf

# Squid normally listens to port 3128 http_port IP_ADDR:PORT

ほとんどのユーザーにとって、すべてのインターフェースとデフォルトのポートでSquidを実行することは問題ありません。

アクセス制御リスト(ACL)を使用して、Squidサーバーへのアクセスを制御できます。

デフォルトでは、Squidはローカルホストとローカルネットからのみアクセスを許可します。

プロキシを使用するすべてのクライアントに静的IPアドレスがある場合、許可されたIPを含むACLを作成できます。

メイン構成ファイルにIPアドレスを追加する代わりに、IPを保持する新しい専用ファイルを作成します。

/etc/squid/allowed_ips.txt

192.168.33.1 # All other allowed IPs

メイン構成ファイルを開いて、 allowed_ips という名前の新しいACLを作成し(最初の強調表示された行)、 http_access ディレクティブを使用してそのACLへのアクセスを許可します(強調表示された2番目の行)。

/etc/squid/squid.conf

#… acl allowed_ips src "/etc/squid/allowed_ips.txt" #… http_access allow localnet http_access allow localhost http_access allow allowed_ips # And finally deny all other access to this proxy http_access deny all

http_access ルールの順序は重要です。 http_access deny all 前に必ず行を追加してください。

http_access ディレクティブは、ファイアウォールルールと同様に機能します。 Squidはルールを上から下に読み取り、ルールが一致した場合、下のルールは処理されません。

構成ファイルを変更するたびに、変更を有効にするためにSquidサービスを再起動する必要があります。

sudo systemctl restart squid

イカ認証

Squidは、認証されたユーザーに対するSamba、LDAP、およびHTTP基本認証など、さまざまなバックエンドを使用できます。

この例では、基本認証を使用するようにSquidを構成します。 これは、HTTPプロトコルに組み込まれた単純な認証方法です。

以下に示すように、 openssl を使用してパスワードを生成し、 tee コマンドで /etc/squid/htpasswd ファイルに username:password ペアを追加し username:password

printf "USERNAME:$(openssl passwd -crypt PASSWORD)\n" | sudo tee -a /etc/squid/htpasswd

たとえば、パスワード「 Pz$lPk76 」で「mike」という名前のユーザーを作成するには、 Pz$lPk76 を実行します。

printf "mike:$(openssl passwd -crypt 'Pz$lPk76')\n" | sudo tee -a /etc/squid/htpasswd

mike:2nkgQsTSPCsIo

次のステップでは、Squidを構成してHTTP基本認証を有効にし、ファイルを使用します。

メイン構成を開き、次を追加します。

/etc/squid/squid.conf

#… auth_param basic program /usr/lib64/squid/basic_ncsa_auth /etc/squid/htpasswd auth_param basic realm proxy acl authenticated proxy_auth REQUIRED #… http_access allow localnet http_access allow localhost http_access allow authenticated # And finally deny all other access to this proxy http_access deny all

最初の3行が強調表示されているので、 authenticated という名前の新しいACLを作成しています。 最後に強調表示された行は、認証されたユーザーへのアクセスを許可しています。

Squidサービスを再起動します。

sudo systemctl restart squid

ファイアウォールの構成

sudo firewall-cmd --permanent --add-port=3128/tcp firewall-cmd --reload Squidがデフォルト以外の別のポートで実行されている場合、そのポートでのトラフィックを許可する必要があります。

プロキシを使用するためのブラウザの構成

Squidをセットアップしたら、最後のステップは、使用するブラウザーを構成することです。

Firefox

以下の手順は、Windows、macOS、およびLinuxで同じです。

  1. 右上隅のハンバーガーアイコン をクリックして、Firefoxのメニューを開きます。

    [ ⚙ Preferences リンクをクリックします。

    Network Settings セクションまで下にスクロールし、 Settings… ]ボタンをクリックします。

    新しいウィンドウが開きます。

    • Manual proxy configuration ラジオボタンを選択し HTTP Host フィールドにSquidサーバーのIPアドレスを入力し、 Port フィールドに 3128 を入力します。 Use this proxy server for all protocols チェックボックスを選択します。

この時点で、Firefoxが設定され、Squidプロキシを介してインターネットを閲覧できます。 確認するには、 google.com 開き、「what is my ip」と入力すると、SquidサーバーのIPアドレスが表示されます。

デフォルト設定に戻すには、[ Network Settings に移動して、[ Use system proxy settings Network Settings ラジオボタンを選択し、設定を保存します。

FoxyProxyなど、Firefoxのプロキシ設定を構成するのに役立つプラグインもいくつかあります。

グーグルクローム

Google Chromeはデフォルトのシステムプロキシ設定を使用します。 オペレーティングシステムのプロキシ設定を変更する代わりに、SwitchyOmegaなどのアドオンを使用するか、コマンドラインからChrome Webブラウザーを起動できます。

新しいプロファイルを使用してChromeを起動し、Squidサーバーに接続するには、次のコマンドを使用します。

Linux:

/usr/bin/google-chrome \ --user-data-dir="$HOME/proxy-profile" \ --proxy-server="http://SQUID_IP:3128"

マックOS :

"/Applications/Google Chrome.app/Contents/MacOS/Google Chrome" \ --user-data-dir="$HOME/proxy-profile" \ --proxy-server="http://SQUID_IP:3128"

ウィンドウズ :

"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" ^ --user-data-dir="%USERPROFILE%\proxy-profile" ^ --proxy-server="http://SQUID_IP:3128"

プロファイルは、存在しない場合は自動的に作成されます。 これにより、Chromeの複数のインスタンスを同時に実行できます。

プロキシサーバーが正常に動作していることを確認するには、 google.com 開き、「what is my ip」と入力します。 ブラウザに表示されるIPは、サーバーのIPアドレスである必要があります。

結論

CentOS 7にsquidをインストールし、それを使用するようにブラウザーを構成する方法を学習しました。

Squidは、最も人気のあるプロキシキャッシングサーバーの1つです。 Webサーバーの速度が向上し、インターネットへのユーザーアクセスを制限できます。

プロキシセンター