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
![](https://assets.st-note.com/img/1706074710333-XOP5kRlwn8.png?width=800)
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アドレスになっていればプロキシ経由でアクセスができています。
![](https://assets.st-note.com/img/1706074367267-aPzFQHnNeg.png)
おわりに
squidを使うことで簡単にプロキシサーバが建てれました。
VPSが余っていてプロキシが必要な方は使ってみてはどうでしょうか。
この記事が気に入ったらサポートをしてみませんか?