No.486
【Squid】最短でプロキシサーバーを立てる【Rocky Linux 8】
とにかく最速でプロキシサーバーを立てたい貴方へ
- 仕事でプロキシ経由のアクセスが必要になった
- 流出防止に外部のproxyは使いたくない
こんな俺のためにメモ。
とりあえず手近にあった Rocky Linux 8 を使ったが、基本的にCentOSクローン系ならまったく同じ。Debian 系でも設定ファイルの位置くらいの違いだとは思う。
設定方針
Squidの設定は以下の方針で最低限行った。
- 身内にしか使わせない(IP制限)
- 基本匿名
Squidのインストール
なにはともあれSquidをインストールする。
dnf -y install squid
下記のコマンドで設定ファイルを編集する。
vi /etc/squid/squid.conf
で以下のように編集する。
まず、アクセスコントロール。
デフォルト記載の acl localhost src
は全てコメントアウトして、許可IPだけ設定する。
#acl localhost src ....
acl accesslist src 許可するIPアドレス
IPアドレスはCIDRで記載できる。単一IPなら下記のように。
acl accesslist src 127.0.0.1/32
続いてアクセス許可をACLだけにする。
デフォルト記載の http_access allow
は全てコメントアウトうる。
#http_access allow localnet
#http_access allow localhost
http_access allow accesslist
続けて必要ならポート番号を変更する。
アクセス制限しているから必要ないと考えれば省略OK。
#http_port 3128
http_port 任意のポート番号
最後に匿名性を高める設定を末尾に追加する。
設定内容は必要に応じて加減すること。
Squid configuration directive request_header_access Squid configuration directive forwarded_for Squid configuration directive visible_hostname
visible_hostname unknown
forwarded_for off
request_header_access Referer deny all
request_header_access X-Forwarded-For deny all
request_header_access Via deny all
request_header_access Cache-Control deny all
Squidを再起動&起動設定して完了。
systemctl enable squid
systemctl restart squid
ファイアーウォール設定
firewalld が動いている環境なら、上記で設定したポートで穴を空けてやる必要がある。
下記コマンドで編集。
vi /etc/firewalld/zones/public.xml
zone設定の末尾にでも下記を追加する。
<port port="ポート番号" protocol="tcp"/>
具体的にはこのように書く。
<zone>
...
<port port="3128" protocol="tcp"/>
</zone>
もちろん firewall-cmd
で追加しても良い。
firewalld-cmd --add-port=ポート番号/tcp
再起動したら
systemctl restart firewalld
下記のコマンドで設定を確認しておこう。
firewall-cmd --list-ports
下記のように設定したポート番号が表示されたら完了。
ポート番号/tcp