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

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

Squidは、HTTP、HTTPS、FTPなどの一般的なネットワークプロトコルをサポートするフル機能のキャッシングプロキシです。 Squidは主に、繰り返されるリクエストのキャッシュ、Webトラフィックのフィルタリング、地理的に制限されたコンテンツへのアクセスにより、Webサーバーのパフォーマンスを向上させるために使用されます。

このチュートリアルでは、Ubuntu 18.04でSquidプロキシを設定し、それを使用するようにFirefoxおよびGoogleChromeWebブラウザーを構成するプロセスについて説明します。

UbuntuへのSquidのインストール#

SquidパッケージはデフォルトのUbuntu18.04リポジトリに含まれています。インストールするには、sudouserとして次のコマンドを入力します。

sudo apt updatesudo apt install squid

インストールが完了すると、Squidサービスが自動的に開始されます。

インストールが成功し、Squidサービスが実行されていることを確認するには、次のコマンドを入力してサービスステータスを出力します。

sudo systemctl status squid
● squid.service - LSB: Squid HTTP Proxy version 3.x
   Loaded: loaded (/etc/init.d/squid; generated)
   Active: active (running) since Thu 2019-06-27 11:45:17 UTC
...
イカの設定#

Squidは、 /etc/squid/squid.confを編集して構成できます。 ファイル。 「include」ディレクティブを使用して含めることができる構成オプションを使用して、個別のファイルを使用することもできます。

構成ファイルには、各構成オプションの機能を説明するコメントが含まれています。

変更を加える前に、元の構成ファイルをバックアップすることをお勧めします:

sudo cp /etc/squid/squid.conf{,.orginal}

ファイルを編集するには、テキストエディタでファイルを開きます。

sudo nano /etc/squid/squid.conf

デフォルトでは、Squidはポート 3128でリッスンするように構成されています サーバー上のすべてのネットワークインターフェースで。

ポートを変更してリスニングインターフェイスを設定する場合は、 http_portで始まる行を見つけます インターフェイスのIPアドレスと新しいポートを指定します。インターフェイスが指定されていない場合、Squidはすべてのインターフェイスでリッスンします。

/etc/squid/squid.conf
# Squid normally listens to port 3128
http_port IP_ADDR:PORT

ほとんどのユーザーにとって、すべてのインターフェースとデフォルトのポートでSquidを実行することは問題ありません。

Squidでは、アクセス制御リスト(ACL)を使用して、クライアントがWebリソースにアクセスする方法を制御できます。

デフォルトでは、Squidはローカルホストからのアクセスのみを許可します。

プロキシを使用するすべてのクライアントが静的IPアドレスを持っている場合は、許可されたIPを含むACLを作成できます。

メインの構成ファイルにIPアドレスを追加する代わりに、IPを保持する新しい専用ファイルを作成します。

/etc/squid/allowed_ips.txt
192.168.33.1
# All other allowed IPs

完了したら、メイン構成ファイルを開き、 allowed_ipsという名前の新しいACLを作成します。 (最初に強調表示された行) http_accessを使用してそのACLへのアクセスを許可します ディレクティブ(2番目に強調表示された行):

/etc/squid/squid.conf
# ...
acl allowed_ips  src "/etc/squid/allowed_ips.txt"
# ...
#http_access allow localnet
http_access allow localhost
http_access allow allowed_ips
# And finally deny all other access to this proxy
http_access deny all

http_accessの順序 ルールは重要です。 http_access deny allの前に必ず行を追加してください 。

http_access ディレクティブは、ファイアウォールルールと同じように機能します。 Squidはルールを上から下に読み取り、ルールが一致する場合、以下のルールは処理されません。

構成ファイルに変更を加えるときはいつでも、変更を有効にするためにSquidサービスを再起動する必要があります:

sudo systemctl restart squid
イカ認証#

Squidは、認証されたユーザーに対してSamba、LDAP、HTTP基本認証などのさまざまなバックエンドを使用できます。

このチュートリアルでは、基本認証を使用するようにSquidを構成します。これは、HTTPプロトコルに組み込まれている単純な認証方法です。

opensslを使用します パスワードを生成し、 username:passwordを追加します / etc / squid / htpasswdとペアリングします teeを使用したファイル 以下に示すコマンド:

printf "USERNAME:$(openssl passwd -crypt PASSWORD)\n" | sudo tee -a /etc/squid/htpasswd

パスワード「Sz$ Zdg69」を使用して「josh」という名前のユーザーを作成しましょう ":

printf "josh:$(openssl passwd -crypt 'Sz$Zdg69')\n" | sudo tee -a /etc/squid/htpasswd
josh:RrvgO7NxY86VM

ユーザーが作成されたので、次のステップはHTTP基本認証を有効にし、 htpasswdを含めることです。 ファイル。

メイン構成を開き、以下を追加します:

/etc/squid/squid.conf
# ...
auth_param basic program /usr/lib/squid3/basic_ncsa_auth /etc/squid/htpasswd
auth_param basic realm proxy
acl authenticated proxy_auth REQUIRED
# ...
#http_access allow localnet
http_access allow localhost
http_access allow authenticated
# And finally deny all other access to this proxy
http_access deny all

強調表示されている最初の3行は、 authenticatedという名前の新しいACLを作成しています。 最後に強調表示されている行は、認証されたユーザーへのアクセスを許可しています。

Squidサービスを再起動します:

sudo systemctl restart squid
ファイアウォールの構成#

UFWを使用していると仮定します ファイアウォールを管理するには、Squidポートを開く必要があります。これを有効にするには、デフォルトのSquidポートのルールを含む「Squid」プロファイルを有効にします。

sudo ufw allow 'Squid'

ステータスタイプを確認するには:

sudo ufw status

出力は次のようになります。

Status: active

To                         Action      From
--                         ------      ----
22/tcp                     ALLOW       Anywhere
Squid                      ALLOW       Anywhere
22/tcp (v6)                ALLOW       Anywhere (v6)
Squid (v6)                 ALLOW       Anywhere (v6)  
Squidがデフォルト以外の別のポートで実行されている場合、たとえば 8888 sudo ufw allow 8888 / tcp を使用して、そのポートでのトラフィックを許可できます。 。

プロキシを使用するようにブラウザを設定する#

Squidをセットアップしたので、最後のステップは、Squidを使用するように優先ブラウザーを構成することです。

Firefox#

以下の手順は、Windows、macOS、およびLinuxでも同じです。

  1. 右上隅にあるハンバーガーアイコンをクリックします Firefoxのメニューを開くには:

  2. ⚙設定をクリックします リンク。

  3. ネットワーク設定まで下にスクロールします セクションをクリックし、設定...をクリックします ボタン。

  4. 新しいウィンドウが開きます。

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

この時点で、Firefoxが構成され、Squidプロキシを介してインターネットを閲覧できます。確認するには、 google.comを開きます 、「what is my ip」と入力すると、SquidサーバーのIPアドレスが表示されます。

デフォルト設定に戻すには、ネットワーク設定に移動します 、システムプロキシ設定を使用を選択します ラジオボタンを押して設定を保存します。

FoxyProxyなどのFirefoxのプロキシ設定を構成するのにも役立つプラグインがいくつかあります。

Google Chrome#

Google Chromeは、デフォルトのシステムプロキシ設定を使用します。オペレーティングシステムのプロキシ設定を変更する代わりに、SwitchyOmegaなどのアドオンを使用するか、コマンドラインからChromeウェブブラウザを起動することができます。

新しいプロファイルを使用してChromeを起動し、Squidサーバーに接続するには、次のコマンドを使用します。

Linux:

/usr/bin/google-chrome \
    --user-data-dir="$HOME/proxy-profile" \
    --proxy-server="http://SQUID_IP:3128"

macOS:

"/Applications/Google Chrome.app/Contents/MacOS/Google Chrome" \
    --user-data-dir="$HOME/proxy-profile" \
    --proxy-server="http://SQUID_IP:3128"

ウィンドウ:

"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" ^
    --user-data-dir="%USERPROFILE%\proxy-profile" ^
    --proxy-server="http://SQUID_IP:3128"

プロファイルが存在しない場合、プロファイルは自動的に作成されます。このようにして、Chromeの複数のインスタンスを同時に実行できます。

プロキシサーバーが正しく機能していることを確認するには、 google.comを開きます 、「whatismyip」と入力します。ブラウザに表示されるIPは、サーバーのIPアドレスである必要があります。


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

  2. UbuntuにSquid3をインストールして構成する方法

  3. Ubuntu14.04にTinyproxyをインストールして設定する方法

  1. Ubuntu18.04にRedisをインストールして構成する方法

  2. Ubuntu18.04にRedmineをインストールして設定する方法

  3. Ubuntu18.04にSambaをインストールして設定する方法

  1. Ubuntu20.04にRedisをインストールして構成する方法

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

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