Centos7にSquid Proxy Serverをインストールする方法
はじめに
システム管理者は、Squidプロキシを使用してコンテン Squidプロキシは、特にサーバーが頻繁に訪問したwebページをキャッシュすることができます。
どうやって? ユーザーがwebページまたはファイルを検索すると、要求はデスクトップコンピュータとインターネットの間の仲介デバイスであるプロキシサーバーに送信されま プロキシサーバーは、新しいデータをキャッシュし、同じサーバーへの将来の要求に使用することにより、リソースをプルしてユーザーに中継します。
このガイドでは、Centos7でSquidプロキシサーバーをセットアップ、構成、およびインストールする方法を学習します。
前提条件
- 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
以下の例では、状態が「アクティブ」であることがわかります。’
メモ: 私たちのナレッジベースには、UbuntuにSquidプロキシサーバーをインストールして設定する手順もあります。
Squidプロキシサーバーの設定
Squid設定ファイルは/etc/squid/squidにあります。コンフ…
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を使用している場合、プロキシ設定は次の場所にあります。
Menu>Options>Network Settings>Settings
手動プロキシ設定のラジオボタンを選択します。
SquidプロキシをホストするシステムのIPアドレスを使用します。
テストするには、https://whatismyipaddress.com/ip-lookupを訪問することができます。 IPアドレスはプロキシサーバーのIPアドレスとして表示されます。
アクセス制御リスト(ACL)の作成
プロキシサーバーのローカルネットワーク外の接続には、アクセス制御リスト(ACL)を設定する必要があります。 これは、”接続を拒否しました”エラーが発生した場合に必要になる場合があります。
この問題を解決するには、新しいACLエントリを使用して安全なポートのリストに追加するだけです。
メモ: 次の各手順の後、保存して終了し、Squidサービスを再起動して新しい設定を適用する必要があります。
/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/passwdauth_param basic children 5auth_param basic realm Squid Basic Authenticationauth_param basic credentialsttl 2 hoursacl auth_users proxy_auth REQUIREDhttp_access allow auth_users
これ以降、Linuxプロキシサーバーに接続すると、ユーザー名とパスワードのプロンプトが表示されます。 認証されていない人は、エラーメッセージによって停止されます。
Squidプロキシでウェブサイトをブロックする方法
1. 新しいテキストファイル/etc/squid/blockedを作成して編集します。を入力することにより、:
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
結論
このチュートリアルでは、Squid HTTPプロキシサーバーのインストール、設定、およびセキュリティ保護の方法を学習しました。
Squidは、独自のキャッシュパワーにより、処理時間を改善し、帯域幅の使用を迅速に合理化します。 そのアクセラレータモードでは、あなたのサーバーは印象的な速度で動作することができます。 それはかなりあなたのシステムに競争力を与えるあなたのネットワークの性能を高めます。