Ubuntu18.04にSquidプロキシサーバーをインストールする方法

Squidは、HTTP、HTTPS、FTPなどのよく知られたネットワークプロトコルをサポートするフル機能のキャッシュプロキシサーバーです。 SquidをWebサーバーのフロントエンドに配置すると、繰り返される要求をキャッシュし、ネットワークトラフィックをフィルタリングすることで、サーバーのパフォーマンスを大幅に向上させることができます。

このガイドでは、Ubuntu 18.04でSquidをセットアップし、このプロキシサーバーを使用するようにFirefoxおよびGoogleブラウザーを構成する方法について説明します。

1.UbuntuにSquidをインストールします##

Squidパッケージは、デフォルトのUbuntu18.04ソースリポジトリに含まれています。これをインストールするには、sudoユーザーとして次のコマンドを実行します。

sudo apt update
sudo apt install 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-2711:45:17 UTC
...

2つ目は、Squid ##を構成することです。

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を実行すると、ほとんどのユーザーに適しています。

アクセス制御リスト(ACL)を使用して、Squidサーバーへのアクセスを制御できます。

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

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

メイン構成にIPアドレスを追加する代わりに、アドレスを構成するための新しい構成ファイルを作成できます: / etc / squid / allowed_ips.txt

192.168.33.1
# All other allowed IPs

完了したら、メイン構成ファイルを開き、 allowed_ipsという名前の新しいACLを作成し、 http_accessディレクティブを使用してアクセスを許可します。/ 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 denyallの前にこの行を追加してください。

http_accessディレクティブはファイアウォールルールに似ています。 Squidはルールを上から下に読み取り、後続の一致するルールは処理されません。

構成ファイルにどのような変更を加えても、変更を有効にするにはSquidサーバーを再起動する必要があります。

sudo systemctl restart squid

三、イカ認証##

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

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

opensslを使用してパスワードを生成し、 username:passwordペアをファイル / etc / squid / htpasswdに追加して表示します。

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

たとえば、「mike」のユーザー名と「Pz $ lPk76」のパスワードを作成するには、次のコマンドを実行します。

printf "mike:$(openssl passwd -crypt 'Pz$lPk76')\n"| sudo tee -a /etc/squid/htpasswd
mike:2nkgQsTSPCsIo

次のステップは、HTTP基本認証を有効にしてこのファイルを使用するようにSquidを構成することです。

メイン構成ファイルを開き、次のコンテンツを追加します: / etc / squid / squid.conf

# ...
auth_param basic program /usr/lib64/squid/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

第4に、ファイアウォールを構成します##

[UFW](https://www.itcoder.tech/posts/how-to-setup-a-firewall-with-ufw-on-ubuntu-18-04/)を使用してファイアウォールを管理していると仮定すると、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`。

5、プロキシサーバーを使用するようにブラウザーを構成します##

Squidを作成したので、最後のステップは、それを使用するようにお気に入りのブラウザーを構成することです。

5.1 Firefox

次の手順は、Windows、macOS、およびLinuxの場合と同じです。

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

  2. ⚙設定をクリックして接続します。

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

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

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

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

Firefoxのプロキシサーバー設定を構成するのに役立つプラグインもいくつかあります。例:[FoxyProxy](https://addons.mozilla.org/en-US/firefox/addon/foxyproxy-standard/)。

5.2 Google Chrome

Google Chromeは、デフォルトのシステムプロキシサーバー設定を使用します。 [SwitchyOmega](https://chrome.google.com/webstore/detail/proxy-switchyomega/padekgcemlokbadohgkifijomclgjgif)などの拡張機能をインストールするか、ターミナルコマンドラインからChromeWebサーバーを起動することもできます。

新しい設定で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"

Windows:

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

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

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

6、要約##

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

Squidは、最も有名なプロキシキャッシュサーバーの1つです。 Webサーバーの速度が向上し、ユーザーのネットワークへのアクセスを制限するのに役立ちます。

Recommended Posts

Ubuntu18.04にSquidプロキシサーバーをインストールする方法
Ubuntu14.04にBaculaServerをインストールする方法
Ubuntu16.04サーバーにZabbixをインストールする方法
Ubuntu20.04にMemcachedをインストールする方法
Ubuntu20.04にJavaをインストールする方法
Ubuntu20.04にMySQLをインストールする方法
Ubuntu20.04にVirtualBoxをインストールする方法
Ubuntu20.04にElasticsearchをインストールする方法
UbuntuにProtobuf3をインストールするための詳細なチュートリアル
Ubuntu20.04にNginxをインストールする方法
Ubuntu20.04にApacheをインストールする方法
Ubuntu20.04にGitをインストールする方法
Ubuntu16.04にNode.jsをインストールする方法
Ubuntu20.04にMySQLをインストールする方法
Ubuntu20.04にVagrantをインストールする方法
Ubuntu14.04にBacula-Webをインストールする方法
Ubuntu16.04にPostgreSQLをインストールする方法
Ubuntu20.04にGitをインストールする方法
Ubuntu18.04にAnaconda3をインストールする方法
Ubuntu18.04にMemcachedをインストールする方法
Ubuntu16.04にJenkinsをインストールする方法
Ubuntu14.04にMemSQLをインストールする方法
Ubuntu20.04にGoをインストールする方法
Ubuntu16.04にMongoDBをインストールする方法
Ubuntu14.04にMailpileをインストールする方法
Ubuntu16.04にPrestaShopをインストールする方法
Ubuntu20.04にSkypeをインストールする方法
Ubuntu20.04にJenkinsをインストールする方法
Ubuntu18.04にPython3.8をインストールする方法
Ubuntu18.04にKVMをインストールする方法
Ubuntu20.04にKVMをインストールする方法
ubuntu14.04にopencv3.0.0をインストールする方法
Ubuntu20.04にAnacondaをインストールする方法
Ubuntu16.04にPrometheusをインストールする方法
Ubuntu18.04にJenkinsをインストールする方法
Ubuntu20.04にApacheをインストールする方法
Ubuntu20.04にRをインストールする方法
Ubuntu16.04にMoodleをインストールする方法
Ubuntu14.04にSolr5.2.1をインストールする方法
Ubuntu16.04にTeamviewerをインストールする方法
Ubuntu20.04にMariaDBをインストールする方法
Ubuntu20.04にNginxをインストールする方法
Ubuntu20.04にMonoをインストールする方法
Ubuntu20.04にGoをインストールする方法
Ubuntu20.04にZoomをインストールする方法
Ubuntu16.04にNginxをインストールする方法
Ubuntu20.04にOpenCVをインストールする方法
Ubuntu20.04にSpotifyをインストールする方法
Ubuntu18.04にPostmanをインストールする方法
Ubuntu16.04にGo1.6をインストールする方法
Ubuntu18.04にGoをインストールする方法
Ubuntu14.04にMySQLをインストールする方法
Ubuntu20.04にPostgreSQLをインストールする方法
Ubuntu18.04にVLCをインストールする方法
Ubuntu20.04にTeamViewerをインストールする方法
Ubuntu20.04にWebminをインストールする方法
Ubuntu18.04にDockerComposeをインストールする方法
RaspberryPiにUbuntuをインストールする方法
Ubuntu 18.04(linux)にMySQLをインストールする方法
Ubuntu16.04でSambaサーバーを使用する方法
Raspberry Pi4にUbuntu19.10をインストールする方法