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

CentOS8でSquidを使用してHTTPプロキシを作成する方法

Squidは、HTTP、HTTPS、FTP、SSLなどのさまざまなプロトコルをサポートする無料のオープンソースWebプロキシキャッシングサーバーです。これは主にキャッシングプロキシサーバーとして使用され、繰り返されるリクエストのキャッシング、Webトラフィックのフィルタリング、地理的に制限されたコンテンツへのアクセスにより、サーバーのパフォーマンスを大幅に向上させることができます。

Squidは、クライアントとWebサーバー間の仲介役として機能できます。 Squidプロキシに接続すると、匿名でインターネットサービスにアクセスし、ローカルネットワークの制限を回避できるようになります。

このチュートリアルでは、CentOS8にSquidProxyをインストールして構成する方法を学習します。

前提条件

  • Atlantic.Netクラウドプラットフォーム上の新しいCentOS8VPS
  • サーバーで構成されているrootパスワード

ステップ1–Atlantic.Netクラウドサーバーを作成する

まず、Atlantic.Netクラウドサーバーにログインします。 1GB以上のRAMを搭載したオペレーティングシステムとしてCentOS8を選択して、新しいサーバーを作成します。 SSH経由でクラウドサーバーに接続し、ページの上部で強調表示されているクレデンシャルを使用してログインします。

CentOS 8サーバーにログインしたら、次のコマンドを実行して、ベースシステムを最新の利用可能なパッケージで更新します。

dnf update -y

ステップ2–Squidプロキシサーバーをインストールする

Squidパッケージは、CentOS8のデフォルトリポジトリで利用できます。次のコマンドを実行するだけでインストールできます:

dnf install squid -y

インストールしたら、次のコマンドを使用してSquidプロキシサービスを開始し、再起動時に開始できるようにします。

systemctl start squid
systemctl enable squid

ステップ3–IPベースの認証を構成する

接続を受け入れてHTTPプロキシとして機能するようにSquidを構成する方法はいくつかあります。このセクションでは、IPアドレスに基づいてクライアントを認証するようにSquidを構成します。

/etc/squid/squid.confにあるSquidのデフォルト設定ファイルを開きます:

nano /etc/squid/squid.conf

ファイルの先頭に次の行を追加します。

acl user1 src 192.168.0.10
acl user2 src 192.168.0.11
http_access allow user1 user2

終了したらファイルを保存して閉じ、Squidサービスを再起動して変更を適用します。

systemctl restart squid

上記の手順で、関連情報を以下のように置き換えます

user1 およびuser2 クライアントコンピュータを識別する名前です。

192.168.0.10 および192.168.0.11 はクライアントコンピュータのIPアドレスです。

ステップ4–ユーザーベースの認証を構成する

このセクションでは、ユーザー名とパスワードを使用してクライアントを認証するようにSquidを構成します。

まず、Apacheユーティリティパッケージをシステムにインストールします。

dnf install httpd-tools -y

次に、Squidユーザーとパスワードを保存するファイルを作成し、パスワードファイルの所有権を変更します。

touch /etc/squid/squid_passwd
chown squid /etc/squid/squid_passwd

次に、次のコマンドを使用して、user1という名前の新しいsquidユーザーを作成します。

htpasswd /etc/squid/squid_passwd user1

以下に示すように、このユーザーのパスワードを作成するように求められます。

New password:
Re-type new password:
Adding password for user user1

次に、次のコマンドを使用してuser2という名前の別のユーザーを作成します。

htpasswd /etc/squid/squid_passwd user2

以下に示すように、このユーザーのパスワードを入力します。

New password:
Re-type new password:
Adding password for user user2

これで、次のコマンドを使用して両方のユーザーを確認できます。

cat /etc/squid/squid_passwd

次の出力が得られるはずです:

user1:$apr1$szXO3OTj$37MuRy2V06mIAOiRpFjnr1
user2:$apr1$MCAckv0h$0VwDLLhAfMLaLm3Xvk3H/0

次に、Squid構成ファイルを編集します:

nano /etc/squid/squid.conf

ファイルの先頭に次の行を追加します。

auth_param basic program /usr/lib64/squid/basic_ncsa_auth /etc/squid/squid_passwd
acl ncsa_users proxy_auth REQUIRED
http_access allow ncsa_users

ファイルを保存して閉じてから、Squidプロキシサービスを再起動して変更を適用します。

systemctl restart squid

ステップ5–複合認証の構成

このセクションでは、IPアドレスとユーザー名/パスワードに基づいてクライアントを認証するようにSquidを構成します。

Squidのデフォルト構成ファイルを編集します:

nano /etc/squid/squid.conf

以前に追加した次の行を見つけます:

auth_param basic program /usr/lib64/squid/basic_ncsa_auth /etc/squid/squid_passwd
acl ncsa_users proxy_auth REQUIRED
http_access allow ncsa_users
acl user1 src 192.168.0.10
acl user2 src 192.168.0.11
http_access allow user1 user2

そして、それらを次の行に置き換えます。

acl user1 src 192.168.0.10
acl user2 src 192.168.0.11
auth_param basic program /usr/lib64/squid/basic_ncsa_auth /etc/squid/squid_passwd
acl ncsa_users proxy_auth REQUIRED
http_access allow user1 user2 ncsa_users

ファイルを保存して閉じてから、Squidプロキシサービスを再起動して変更を適用します。

systemctl restart squid

ステップ6–トラフィックを匿名化するようにSquidを構成する

次に、SquidHTTPプロキシからトラフィックを受信するサーバーからクライアントIPアドレスをマスクするためのルールを追加する必要があります。

Squidのデフォルト設定ファイルを編集することでそれを行うことができます:

nano /etc/squid/squid.conf

ファイルの先頭に次の行を追加します。

forwarded_for off
request_header_access Allow allow all
request_header_access Authorization allow all
request_header_access WWW-Authenticate allow all
request_header_access Proxy-Authorization allow all
request_header_access Proxy-Authenticate allow all
request_header_access Cache-Control allow all
request_header_access Content-Encoding allow all
request_header_access Content-Length allow all
request_header_access Content-Type allow all
request_header_access Date allow all
request_header_access Expires allow all
request_header_access Host allow all
request_header_access If-Modified-Since allow all
request_header_access Last-Modified allow all
request_header_access Location allow all
request_header_access Pragma allow all
request_header_access Accept allow all
request_header_access Accept-Charset allow all
request_header_access Accept-Encoding allow all
request_header_access Accept-Language allow all
request_header_access Content-Language allow all
request_header_access Mime-Version allow all
request_header_access Retry-After allow all
request_header_access Title allow all
request_header_access Connection allow all
request_header_access Proxy-Connection allow all
request_header_access User-Agent allow all
request_header_access Cookie allow all
request_header_access All deny all

ファイルを保存して閉じてから、Squidプロキシサービスを再起動して変更を適用します。

systemctl restart squid

ステップ7–Squidプロキシをテストする

この時点で、Squidプロキシサーバーは、IPアドレスとユーザー名/パスワードに基づいてクライアント接続を受け入れ、インターネットトラフィックを匿名で処理するように構成されています。

次に、SquidサーバーをHTTPプロキシとして使用するように、クライアントコンピューターのブラウザー設定を構成する必要があります。

クライアントコンピュータで、Mozilla Firefoxを開き、以下に示すように[編集]=>[設定]をクリックします。

[ネットワーク設定]セクションまで下にスクロールして、[設定]をクリックします 。次のページが表示されます:

[手動プロキシ構成]ラジオボタンを選択し、[HTTPホスト]フィールドにSquidサーバーのIPアドレスを入力し、[ポート]フィールドに3128を入力し、[すべてのプロトコルにこのプロキシサーバーを使用する]チェックボックスをオンにして、[ OK ボタンをクリックして設定を保存します。

これで、Squidプロキシを介してインターネットを閲覧するようにブラウザが設定されました。

確認するには、URLhttps://www.whatismyip.com/を入力します。以下に示すように、ユーザー名とパスワードを入力するように求められます。

以前に作成したSquidプロキシサーバーのユーザー名とパスワードを入力し、 OKをクリックします。 ボタン。次のページが表示されます:

上記のページに、クライアントコンピュータのIPアドレスではなく、SquidサーバーのIPアドレスのIPアドレスが表示されているはずです。

結論

上記のガイドでは、CentOS 8でSquidをHTTPプロキシサーバーとして構成し、それを使用するようにブラウザーを構成する方法を学習しました。これで、匿名でWebを閲覧し、Firefoxがあなたを追跡しないようにすることができます。今日Atlantic.NetのVPSホスティングアカウントでSquidを試してみてください!


Linux
  1. 別のサーバーを使用してサーバーにSSH接続する方法は??

  2. CentOS8でVSFTPDを設定する方法

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

  1. Squidプロキシサーバー

  2. Telnetを使用してHTTPプロキシでCONNECTメソッドを使用するにはどうすればよいですか?

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

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

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

  3. CentOS/RHEL サーバーで SSH バナーを作成する方法