Squidでプロキシサーバー構築


はじめに

給付金活動で複垢している場合に、fausetなどでのIP制限を回避したり、シビル判定の回避に利用できればと思い、自作プロキシサーバを作ってみます。

前提

使用しているVPSはWebARENA Indigoの4GB, Ubuntu 20.04です。
ノード建てて運用しているVPSに空きがあるのでこれを使ってみました。

事前準備 ファイアウォール設定

ポートを開けているとポートスキャンを受けてしまうので、VPS側のファイアウォールを設定します。
Indigoの管理画面→ネットワーク管理でHTTPとHTTPSを選択し、IPアドレスには自分の環境から接続する際のIPアドレスを設定します。
なお、自分の環境のIPアドレスはIPチェックのサイトで確認できます。
https://www.cman.jp/network/support/go_access.cgi

ファイアウォール設定

Squidのインストールと初期設定

aptコマンドでsquidをインストール

sudo apt install squid

squidの設定ファイルを編集

sudo vi /etc/squid/squid.conf

デフォルトの設定をコメントアウト。
acl…となっている箇所と、http_access…となっている箇所をコメントアウトします。

# Example rule allowing access from your local networks.
# Adapt to list your (internal) IP networks from where browsing
# should be allowed
#acl localnet src 0.0.0.1-0.255.255.255 # RFC 1122 "this" network (LAN)
#acl localnet src 10.0.0.0/8            # RFC 1918 local private network (LAN)
#acl localnet src 100.64.0.0/10         # RFC 6598 shared address space (CGN)
#acl localnet src 169.254.0.0/16        # RFC 3927 link-local (directly plugged) machines
#acl localnet src 172.16.0.0/12         # RFC 1918 local private network (LAN)
#acl localnet src 192.168.0.0/16                # RFC 1918 local private network (LAN)
#acl localnet src fc00::/7              # RFC 4193 local private network range
#acl localnet src fe80::/10             # RFC 4291 link-local (directly plugged) machines

#acl SSL_ports port 443
#acl Safe_ports port 80         # http
#acl Safe_ports port 21         # ftp
#acl Safe_ports port 443                # https
#acl Safe_ports port 70         # gopher
#acl Safe_ports port 210                # wais
#acl Safe_ports port 1025-65535 # unregistered ports
#acl Safe_ports port 280                # http-mgmt
#acl Safe_ports port 488                # gss-http
#acl Safe_ports port 591                # filemaker
#acl Safe_ports port 777                # multiling http
#acl CONNECT method CONNECT

...途中省略

#http_access deny !Safe_ports
#http_access deny CONNECT !SSL_ports
#http_access allow localhost manager
#http_access deny manager
#http_access deny to_localhost
#http_access allow localnet
#http_access allow localhost
#http_access deny all

自分のIPアドレスのみを許可する用に設定を追加

acl client src xxx.xxx.xxx.xxx
http_access allow client

デフォルトポートを使いたくない場合はポート番号を変更。
以下は8080番に変更する場合の例。
squidに限らず、よく知られているポートはポートスキャンの攻撃を受けやすいので、自分しか使わない場合は変えておいたほうがよいです。

http_port 8080

プロキシ情報を隠蔽するための追加設定

forwarded_for off

header_access X-Forwarded-For deny all
header_access Via deny all
header_access Cache-Control deny all

squidの再起動

sudo systemctl restart squid

プロキシの動作確認

設定したプロキシが動作しているかを確認します。
以下を参考にしてChromeのプロキシを設定します。
アドレス部分にはVPSのIPアドレス、ポートにはsquidのポート番号を設定します。
https://library.tokyo-med.ac.jp/d-electron/proxy/Chrome

その後、IPチェックサイトでIPアドレスをチェックしてみましょう。
IPアドレスがVPSのIPアドレスになっていればプロキシ経由でアクセスができています。

おわりに

squidを使うことで簡単にプロキシサーバが建てれました。
VPSが余っていてプロキシが必要な方は使ってみてはどうでしょうか。



この記事が気に入ったらサポートをしてみませんか?