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

Ubuntu20.04LTSでSquidプロキシサーバーを構成する方法

前回の投稿「LinuxにSquidProxyServerをインストールする方法」では、Squidサーバーの基本的な紹介とLinuxシステムへのインストールについて説明しました。この投稿では、Squidプロキシサーバーを構成するためのフォローアップを行います。次のトピックについて説明します。

  1. 別のポートでリッスンするようにSquidを構成する
  2. Squidプロキシサーバーのホスト名の構成
  3. Squidキャッシュメモリサイズの設定
  4. 使用するDNSネームサーバーの指定
  5. Squidプロキシサーバーの特定のWebサイトへのアクセスを拒否する
  6. SquidProxyクライアント認証の構成
  7. Squidプロキシサーバーを介して接続するようにクライアントを構成する

注: この記事で説明するコマンドと手順は、 Ubuntu 20.04 LTSでテストされています。 (Focal Fossa)。 同じコマンドと手順がDebianディストリビューションにも有効です。

前提条件

  • UbuntuまたはDebianがインストールされたマシン
  • Sudoユーザー

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

Squidプロキシサーバー構成ファイルは/etc/squid/squid.confにあります。 。リスト。このファイルには、Squidプロキシサーバーを構成するためのディレクティブが含まれています。

別のポートでリッスンするようにSquidを構成する

デフォルトでは、Squidプロキシサーバーはポート3128でクライアントマシンからのトラフィックをリッスンします。ただし、 http_port を使用して、デフォルトポート以外の別のポートでリッスンするように構成できます。 ディレクティブ。

次のコマンドを使用して、イカの構成を編集します。

$ sudo nano /etc/squid/squid.conf

次に、構成ファイルで以下のエントリを見つけます。

注: Ctrl + Wを使用できます 任意の行を検索します。 Ctrl + Wを押してキーワードを入力し、Enterキーを押します。

http_port 3128

ここで、 3128を置き換えます Squidプロキシサーバーがリッスンするポート番号を使用して、たとえば 3155

http_port 3155

次に、変更を有効にするためにsquidプロキシサーバーサービスを再起動します。

$ sudo service squid restart

Squidプロキシサーバーのホスト名の構成

Squidプロキシサーバーがそれ自体でマシンのホスト名を判別できない場合は、Squidプロキシサーバーのホスト名を構成できます。ホスト名を構成するには、 visible_hostnameを使用できます 指令。この名前は、エラーメッセージ、内部URL、FTPディレクトリリストなどでSquidによって使用されます。

次のコマンドを使用して、イカの構成を編集します。

$ sudo nano /etc/squid/squid.conf

次に、構成ファイルに次のエントリを追加して、 を置き換えます。 Squidプロキシサーバーのホスト名として設定する任意の名前。システムの実際のホスト名を使用する必要はありません。

visible_hostname <host_name>

たとえば、「 linuxways 」をSquidプロキシサーバーのホスト名として使用すると、エントリは次のようになります。

visible_hostname linuxways 

構成が完了したら、構成ファイルを保存して終了します。

次に、Squidプロキシサービスを再起動して、構成の変更を有効にします。

$ sudo service squid restart

Squidクライアントがエラーページを受け取った場合、Webページの下部にホスト名が表示されます。

Squidキャッシュメモリサイズの設定

Squidは、頻繁にアクセスするコンテンツをメモリにキャッシュします。 Squidキャッシュメモリのデフォルトサイズは256MBです。 Squidキャッシュメモリのサイズを変更するには、 cache_mem ディレクティブが使用されます。

次のコマンドを使用して構成ファイルを編集します。

$ sudo nano /etc/squid/squid.conf

次に、構成ファイルで次のエントリを検索し、256をキャッシュメモリサイズに設定する量に置き換えます。

cache_mem 256 MB

たとえば、キャッシュサイズを512 MBに設定するには、エントリを次のように変更します。

cache_mem 512 MB

構成が完了したら、構成ファイルを保存して終了します。

次に、squidサービスを再起動して、変更を適用します。

$ sudo service squid restart

使用するDNSネームサーバーの指定

デフォルトでは、Squidは /etc/resolv.confを使用します ドメイン名を解決します。 Squidで別のネームサーバーを使用する場合は、 dns_nameserversを使用して使用できます。 指令。次のコマンドを使用して、イカの構成を編集します。

$ sudo nano /etc/squid/squid.conf

次に、構成ファイルに次のエントリを追加して置き換えます。

dns_nameservers <IP address of DNS server>

たとえば、 8.8.4.4を設定するには ネームサーバーとしてのエントリは次のようになります:

dns_nameservers 8.8.8.8 8.8.4.4

構成が完了したら、ファイルを保存して終了します。

次に、squidサービスを再起動して、変更を適用します。

$ sudo service squid restart

プロキシサーバーへのアクセスの制御

SquidACLの仕組み

アクセス制御の場合、ACLはアクセス制御ディレクティブと組み合わせて使用​​されます。 ACLだけでは役に立ちません。ACLは、さまざまなルールに基づいてユーザーの要求を識別するのに役立つだけです。アクセスを許可または拒否するために、それらは http_accessと組み合わされます ディレクティブ。

ACLを定義するための構文は、次のとおりです。

acl NAME TYPE value

例: Squidプロキシサーバーを介したLANトラフィックを許可する

LANからのトラフィックを照合する192.168.5.0/24 、Squid構成ファイルにACLルールを作成する必要があります:

acl myacl src 192.168.5.0/24

ACLが定義されると、 http_accessを使用できます。 アクセスを許可/拒否するディレクティブ。 http_accessの構文は次のとおりです。 ディレクティブ:

http_access allow|deny NAME

NAMEは、アクセスを許可/拒否するトラフィックを識別します。

ACLで識別されたトラフィックを許可するには、次の http_accessを追加する必要があります。 Squid構成ファイルのディレクティブ:

http_access allow myacl

インターネットにアクセスするためのプロキシソースの構成

まず、プロキシサーバーを介したインターネットへのアクセスを許可するソースを構成します。たとえば、内部ネットワークからのみプロキシサーバーへのアクセスを許可したい場合があります。

1.許可されたソースを構成するには、squid構成ファイルを編集します。

$ sudo nano /etc/squid/squid.conf

2.次に、エントリ acl localnet srcを検索します。 。

注: Nanoエディターでエントリを検索するには、 Ctrl + wを押します。 、検索する式を入力します。上記の例の場合、 Ctr + wを押します。 acl localnet srcと入力します 次のスクリーンショットに示すように。

3.ここに、さまざまなIPアドレス範囲のエントリ数が表示されます。ここで、次のようにネットワークのエントリを追加します。

acl localnet src subnet_ID/subnet_mask

たとえば、ローカルネットワークは 192.168.72.0/24で実行されます サブネット。この場合、エントリは次のようになります。

acl localnet src 192.168.72.0/255.255.255.0

4. http_accessを使用します ディレクティブ、 localnetという名前のaclによって識別されるソースを許可します 上で定義されています。 http_accessディレクティブは、構成済みですでに定義されています。必要なのは、それを見つけてコメントを外すだけです。

エントリ#http_accessallow localnetを検索します 次に、を削除してコメントを解除します キャラクター。

http_access allow localnet

次に、squid構成ファイルを保存して終了します。

3.次に、次のコマンドを使用してsquidサービスを再起動します。

$ sudo service squid restart

Squidプロキシサーバーの特定のWebサイトへのアクセスを拒否する

Squidプロキシサーバーの一部のWebサイトへのアクセスを拒否するには、ファイルを作成し、アクセスを拒否するすべてのWebサイトを一覧表示します。

$ sudo nano /etc/squid/deniedsites.acl

次に、アクセスを拒否するサイトをリストし、ファイルを保存して終了します。

.msn.com

.yahoo.com

.bbc.com

次に、次のコマンドを使用してsquid構成ファイルを編集します。

$ sudo nano /etc/squid/squid.conf

次に、拒否されたWebサイトのACLルールを作成し、拒否されたWebサイトのリストを含むファイルに言及します。

acl denied_sites dstdomain “/etc/squid/deniedsites.acl”

ACLルールdenied_sites/etc/squid/deniedsites.acl」にリストされているWebサイト宛てのすべてのリクエストに一致します 」ファイル。

次に、 http_accessを追加する必要があります denied_sitesという名前の上記のACLルールで識別されるWebサイトを拒否するディレクティブ 。 Squid構成ファイルに次の行を追加します。

http_access deny denied_sites

構成が完了したら、ファイルを保存して終了します。

次に、以下のコマンドを使用してsquidサービスを再起動します。

$ sudo service squid restart

Squidプロキシクライアント認証の構成

Squidプロキシサーバーを使用すると、セキュリティのために基本的なユーザーベースの認証を追加できます。そのために、 htpasswdを使用します ApacheHTTPサーバーに付属するプログラム。次に、認証用のユーザー名とパスワードを含むファイルを作成します。

1.まず、Apache2-utilsをインストールする必要があります。これを行うには、次のコマンドを使用します。

$ apt install -y apache2-utils

2. / etc / squidにpasswdファイルを作成します パスワードを保存するディレクトリ:

$ touch /etc/squid/passwd

3.以下のコマンドを使用して、所有権をユーザー「プロキシ」に設定します。

$ chown proxy: /etc/squid/passwd

4.次に、 / etc / squid / passwdにユーザーを追加します ファイル:

htpasswd /etc/squid/passwd tin

パスワードを入力し、再入力して確認します。これで、ユーザーとその暗号化されたパスワードが / etc / squid / passwdに保存されます。 ファイル。

5. /etc/squid/squid.confを編集します 以下のコマンドを使用してファイルを作成します:

$ sudo nano /etc/squid/squid.conf

ファイルに以下の行を追加します:

auth_param basic program /usr/lib64/squid/basic_ncsa_auth /etc/squid/passwdauth_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

Once you are done with the configurations, save and exit the configuration file.

Squidプロキシサーバーを介して接続するようにクライアントを構成する

このセクションでは、Squidプロキシサーバーを介して接続するようにクライアントを構成します。

1.システムでWebブラウザを開きます。ここでは、 Firefoxを使用します ブラウザ。

2.ブラウザの右上隅に移動し、3つの横棒アイコンをクリックします。次に、オプションをクリックします 。

3.次に、検索バーに「 network」と入力します 。検索結果が表示されたら、[設定]をクリックします 下のスクリーンショットに見られるように。

4.手動プロキシ構成を選択します オプションボタン。次に、SquidプロキシサーバーのIPアドレスをHTTPプロキシに入力します ポートのフィールドとポート番号 分野。また、FTPとHTTPSにもこのプロキシを使用するを確認してください チェックボックス。次に、[ OK]をクリックします 。

ここで、Squidサーバーが機能しているかどうかを確認するために、ブラウザーで任意のWebサイトにアクセスしてみてください。認証ダイアログが表示されます。以前に作成したsquidのユーザー名とパスワードを入力し、 OKをクリックします。 。

これで、リクエストされたWebサイトにアクセスできるようになります。

次に、アクセスリストを使用してブロックした別のWebサイトにアクセスしてみます。ブラウザには、「プロキシサーバーが接続を拒否しています」という次のページが表示されます。

これですべてです。この記事では、LinuxシステムでSquidプロキシサーバーを構成する方法を学習しました。基本的な構成について説明しました。 Squidプロキシサーバーでできることは他にもたくさんあります。詳細については、公式ドキュメントをご覧ください。


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

  2. Ubuntu18.04LTSにSquidプロキシサーバーをインストールする方法

  3. Ubuntu20.04LTSにSquidProxyをインストールする方法

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

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

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

  1. Ubuntu20.04にSquidプロキシサーバーをインストールする方法

  2. Ubuntu16.04でBaculaサーバーを構成する方法

  3. Ubuntu16.04でOpenVPNを構成する方法