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を試してみてください!