海外サーバーvultr

Ubuntu[18.04]にSquidプロキシをインストールする

Squidは人気のあるプロキシおよびキャッシングサーバアプリケーションです。これは主にフォワードプロキシとして機能しますが、リバースプロキシとしても使用できます。Squidは多くの機能を提供し、企業レベルのネットワークでよく使われます。

このチュートリアルでは、Squidを使った認証を使って簡単なHTTPプロキシを設定する方法を説明します。このチュートリアルにリストされているステップは、Ubuntu 16.04でテストされています。

警告:プロキシを作成するときは、細心の注意を払う必要があります。ハッカーはしばしばオープンインターネットのプロキシを公共のインターネットでスキャンし、悪意のある活動に利用します。あなたがあまりにも多くの苦情を受け取った場合、ほとんどのホスティング会社はあなたのインスタンスを中断しますので、強力なパスワードのような十分な認証を使うようにしてください。

このチュートリアルでは、パッケージをインストールせずに新しく作成したVPSを使用していることを前提としています。

インストール

まず、apt-get以下のコマンドを実行して、パッケージライブラリが最新であることを確認してください。これにより、最新のパッケージが確実にインストールされます。

$ apt-get update

これが完了したら、squidアプリケーションをインストールしますhtpasswd。次のコマンドを実行してsudo両方のパッケージをインストールします。

$ sudo apt-get install squid3 apache2-utils

Squidのインストールが完了したら、インストール中に作成されたオリジナルの設定ファイルのコピーを作成することをお勧めします。これは参考になり、変更をロールバックできるようにするためです。

$ sudo mv /etc/squid/squid.conf /etc/squid3/squid.conf.default

次に、プロキシアカウントの認証情報を保存するためにSquidに必要なファイルを作成します。

$ sudo touch /etc/squid/squid_passwd
$ sudo chown proxy /etc/squid/squid_passwd

設定

などのテキストエディタを使用して編集するためにsquid設定ファイルを開きますnano

$ sudo nano /etc/squid/squid.conf

認証されたユーザーがプロキシに接続できるように、ファイルに次の行を追加します。

auth_param basic program /usr/lib/squid/basic_ncsa_auth /etc/squid/squid_passwd
auth_param basic realm proxy
acl authenticated proxy_auth REQUIRED
http_access allow authenticated
http_port 3128  

http_port 3128(デフォルトポート)

さらに、プロキシに接続している人のIPがHTTPヘッダーに表示されないようにするには、上記の下に次の行を追加します。

forwarded_for off
request_header_access Allow allow all
request_header_access Authorization allow all
request_header_access WWW-Authenticate allow all
request_header_access Proxy-Authorization allow all
request_header_access Proxy-Authenticate allow all
request_header_access Cache-Control allow all
request_header_access Content-Encoding allow all
request_header_access Content-Length allow all
request_header_access Content-Type allow all
request_header_access Date allow all
request_header_access Expires allow all
request_header_access Host allow all
request_header_access If-Modified-Since allow all
request_header_access Last-Modified allow all
request_header_access Location allow all
request_header_access Pragma allow all
request_header_access Accept allow all
request_header_access Accept-Charset allow all
request_header_access Accept-Encoding allow all
request_header_access Accept-Language allow all
request_header_access Content-Language allow all
request_header_access Mime-Version allow all
request_header_access Retry-After allow all
request_header_access Title allow all
request_header_access Connection allow all
request_header_access Proxy-Connection allow all
request_header_access User-Agent allow all
request_header_access Cookie allow all
request_header_access All deny all

Squidの設定ファイルはこのようになっているはずです。

プロキシ上にユーザーを作成するにyouruserは、目的のユーザー名に置き換えて次のコマンドを実行します。パスワードを2回要求します。

$ sudo htpasswd /etc/squid3/squid_passwd youruser

同じ方法で追加のユーザーを作成できます。

を使用Control + Oしてファイルを保存して閉じますControl + X

Squidサービスを再起動&ステータスを確認してください。

$ sudo service squid restart
$ sudo service squid status
$ netstat -plant

プロキシを使用する

Squidがセットアップされたので、これを転送プロキシとして使用できます。以前に生成したユーザー名とパスワードを含め、プロキシを使用するようにWebブラウザの「インターネット設定」を構成します。プロキシが機能していることを確認するには、このようなIPアドレス検出サイトにアクセスしてください。

成功すると、VultrのIPアドレスが確認できるはずです。