アンドロイド

ubuntu 18.04にsquidプロキシをインストールして設定する方法

Ubuntu 18.04: What's New?

Ubuntu 18.04: What's New?

目次:

Anonim

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

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

UbuntuにSquidをインストールする

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

sudo apt update sudo 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の構成

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

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

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

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

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

sudo nano /etc/squid/squid.conf

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

/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 を使用してパスワードを生成し、 tee コマンドを使用して /etc/squid/htpasswd ファイルに username:password ペアを追加し username:password

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を使用してファイアウォールを管理していると仮定すると、teg 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をセットアップしたら、最後のステップは、使用するブラウザーを構成することです。

Firefox

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

  1. 右上隅のハンバーガーアイコン をクリックして、Firefoxのメニューを開きます。

    [ ⚙ Preferences リンクをクリックします。

    Network Settings セクションまで下にスクロールし、 Settings… ]ボタンをクリックします。

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

    • Manual proxy configuration ラジオボタンを選択し HTTP Host フィールドにSquidサーバーのIPアドレスを入力し、 Port フィールドに 3128 します。 Use this proxy server for all protocols チェックボックスを選択します。

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

デフォルト設定に戻すには、[ Network Settings に移動して、[ Use system proxy settings Network Settings ラジオボタンを選択し、設定を保存します。

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

グーグルクローム

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

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

Linux:

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

マックOS :

"/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 開き、「what is my ip」と入力します。 ブラウザに表示されるIPは、サーバーのIPアドレスである必要があります。

結論

Ubuntu 18.04にSquidをインストールし、それを使用するようにブラウザーを構成する方法を学習しました。

Squidは、最も人気のあるプロキシキャッシングサーバーの1つです。 Webサーバーの速度が向上し、インターネットへのユーザーアクセスを制限できます。

プロキシUbuntu