アンドロイド

Debian 10 Linuxでのsquidプロキシのインストールと設定方法

Let's Play - FTL: Advanced Edition! [Episode 4]

Let's Play - FTL: Advanced Edition! [Episode 4]

目次:

Anonim

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

このチュートリアルでは、Debian BusterでSquidプロキシを設定する方法を説明します。 また、FirefoxおよびGoogle Chrome Webブラウザーを使用するように構成する方法も示します。

DebianへのSquidのインストール

Squidパッケージは、Debian 10リポジトリの標準に含まれています。 sudoユーザーとして次のコマンドを実行して、Squidをインストールします。

sudo apt update sudo apt install squid

インストールが完了すると、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 Sat 2019-08-03 08:52:47 PDT; 3s ago…

Squidの構成

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

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

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

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を実行することは問題ありません。

アクセス制御リスト(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 」を持つ「buster」という名前のユーザーを作成しましょう。

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

buster:RrvgO7NxY86VM

次のステップは、HTTP基本認証を有効にすることです。 メイン構成を開き、次を追加します。

/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」プロファイルを有効にしてポート 3128 を開くことができます。

sudo ufw allow 'Squid'

sudo nft add rule inet filter input tcp dport 3128 ct state new, established counter accept Squidがデフォルト以外の別のポートで実行されている場合、そのポートでトラフィックを許可する必要があります。

プロキシを使用するためのブラウザの構成

このセクションでは、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アドレスである必要があります。

結論

Debian 10にSquidをインストールし、それを使用するようにブラウザーを構成する方法の基本について説明しました。

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

プロキシDebian