GNU/Linux >> Linux の 問題 >  >> Ubuntu

CentOS7にSquidプロキシサーバーをインストールする方法

はじめに

システム管理者は、SquidProxyを使用してコンテンツ配信を強化します。 Squid Proxyを使用すると、サーバーは頻繁にアクセスするWebページをキャッシュできます。

どのように?ユーザーがWebページまたはファイルを探すと、要求はプロキシサーバー(デスクトップコンピューターとインターネットの間の中間デバイス)に送信されます。プロキシサーバーは、新しいデータをキャッシュし、同じサーバーに対して行われる将来のリクエストに使用することで、リソースを取得してユーザーに中継します。

このガイドでは、 CentOS7でSquidProxyサーバーをセットアップ、構成、およびインストールする方法を学習します。

前提条件

  • CentOSオペレーティングシステム
  • ターミナルウィンドウ/コマンドラインへのアクセス(Ctrl-Alt-T)
  • rootまたはsudo権限を持つCentOSユーザー
  • yumパッケージインストーラー 、デフォルトで含まれています
  • vimなどのテキストエディタ

CentOSにSquidプロキシをインストールする手順

ステップ1:CentOSソフトウェアリポジトリを更新する

リポジトリを更新して、最新のソフトウェアバージョンで作業していることを確認してください。

ターミナルウィンドウを起動し、次のように入力します。

sudo yum -y update

ステップ2:CentOSにSquidパッケージをインストールする

Squidをインストールするには、次のように入力します。

yum -y install squid

次に、次のコマンドを入力してSquidを起動します。

systemctl start squid

起動時に自動開始を設定するには:

systemctl enable squid

サービスのステータスを確認し、以下を使用します:

systemctl status squid

以下の例では、状態が「アクティブ」であることがわかります。

Squidプロキシサーバーの構成

Squid構成ファイルは/etc/squid/squid.confにあります。

1.お好みのテキストエディタ( vim )でファイルを開きます この例では使用されました}:

sudo vi /etc/squid/squid.conf

2.移動してhttp_portオプションを見つけます 。通常、これはポート3218でリッスンするように設定されています 。このポートは通常、TCPトラフィックを伝送します。システムが別のポートのトラフィック用に構成されている場合は、ここで変更します:

プロキシモードを透過に設定することもできます Squidがリクエストとレスポンスを変更しないようにしたい場合。

次のように変更します:

http_port 1234 transparent

3. http_acacess deny allに移動します オプション。

現在、すべてのHTTPトラフィックをブロックするように構成されており、以下に示すようにWebトラフィックは許可されていません。

これを次のように変更します:

http_access allow all

4.次のように入力して、Squidサービスを再起動します。

sudo systemctl restart squid

Squidクライアントの構成

これで、Squidプロキシサーバーが構成されました。クライアントサーバーを構成するには、クライアントマシンに切り替えて、Webブラウザを開きます。

Firefoxを使用している場合、プロキシ設定は次の場所にあります:

メニュー>オプション>ネットワーク設定>設定

手動プロキシ設定のラジオボタンを選択します。

SquidプロキシをホストしているシステムのIPアドレスを使用します。

テストするには、https://whatismyipaddress.com/ip-lookupにアクセスしてください。 IPアドレスがプロキシサーバーのIPアドレスとして表示されます。

アクセス制御リスト(ACL)を作成する

プロキシサーバーのローカルネットワーク外の接続については、アクセス制御リスト(ACL)を構成する必要があります。これは、「接続を拒否しました」というエラーが発生した場合に必要になることがあります。

この問題を解決するには、新しいACLエントリを使用して安全なポートのリストに追加するだけです。

/etc/squid/squid.confを編集します もう一度ファイルします。次のように新しい行を追加します:

acl localnet src 192.166.0.10

これにより、このIPアドレスのシステムのみが接続できるようにするルールが作成されます。

ルールを識別するために行にコメントを付けます。 #記号の後のテキストはSquidによって無視されます。

acl localnet src 192.166.0.10 # test computer

次のようにIPアドレスの範囲を指定できます。

acl localnet src 192.166.0.10/30

Squidプロキシポートを開く

特定のポートを開くには、次を追加します。

acl Safe_ports port 123 # Custom port

変更を保存するには、Squidを再起動します:

systemctl restart squid

プロキシ認証の設定

Squidは、他のタイプの認証をサポートするとともに、基本認証を提供します。

まず、 httpd-toolsをインストールします 次のコマンドを使用します:

yum -y install httpd-tools

ツールをインストールしたら、新しいファイルを作成します。

touch /etc/squid/passwd && chown squid /etc/squid/passwd

パスワードを作成するには、次のコマンドを使用します:

htpasswd /etc/squid/passwd newuser

を交換します newuser ユーザー名を使用します。

「newuser」のパスワードを入力して確認するように求められます。

プロキシサービスを再起動し、次のように挿入してブラウザを再度開きます。

systemctl restart squid

/etc/squid/squid.confを編集します ファイルを作成し、次のコマンドラインを追加します。

auth_param basic program /usr/lib64/squid/basic_ncsa_auth /etc/squid/passwd

auth_param basic children 5

auth_param basic realm Squid Basic Authentication

auth_param basic credentialsttl 2 hours

acl auth_users proxy_auth REQUIRED

http_access allow auth_users

これ以降、Linuxプロキシサーバーに接続すると、ユーザー名とパスワードの入力を求めるプロンプトが表示されます。認証されていない人は、エラーメッセージによって停止されます。

Squidプロキシを使用してWebサイトをブロックする方法

1.新しいテキストファイルを作成および編集します/etc/squid/blocked.acl 次のように入力します:

sudo vi /etc/squid/blocked.acl

2.このファイルで、ブロックするWebサイトをドットで始めて追加します:

.facebook.com

.twitter.com

ドットは、メインサイトのすべてのサブサイトをブロックすることを指定します。

3. /etc/squid/squid.confを開きます 再度ファイルする:

sudo vi /etc/squid/squid.conf

4.ACLリストのすぐ上に次の行を追加します。

acl blocked_websites dstdomain “/etc/squid/blocked.acl”
http_access deny blocked_websites

Ubuntu
  1. CentOS8にTeamspeak3サーバーをインストールする方法

  2. Ubuntu20.04にSquidプロキシをインストールして構成する方法

  3. CentOS/RHEL 7 で squid プロキシ サーバーをセットアップする方法

  1. CentOS7にClickHouseをインストールする方法

  2. Ubuntu18.04にSquidプロキシサーバーをセットアップしてインストールする方法

  3. CentOS8にSquidプロキシをインストールする方法

  1. CentOS7にMinecraftサーバーをインストールする方法

  2. CentOS7にSquidプロキシをインストールして構成する方法

  3. CentOS8にNginxをインストールする方法