squidでHTTPプロキシを立てる。
squidでお手軽に検証用プロキシサーバを作るためのメモです。
認証は設定していません。
検証用の環境
CentOS 8.1.1911
squid: 4.4.8
前提条件
プロキシサーバがネットワーク的に外部と通信できること
プロキシサーバに名称解決の設定が行われていること
※プロキシ環境課の場合、基本的にプロキシの下段にある端末は名称解決を行わずプロキシサーバに丸投げする。
Squidのコンフィグを確認する
Squidのコンフィグは /etc/squid/squid.conf になります。
squidコンフィグを編集していきます。
以下の記述で送信元がローカルIPであるネットワークを localnet として定義しています。
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
しかし、今回さらにプロキシの許可する範囲を192.168.1.0/24 に限定するため、under_proxy_net というネットワーク定義を作成しておきます。
acl under_proxy_net src 192.168.1.0/24
デフォルトのローカルIP許可設定をコメントアウトしていきます。以下の設定をコメントアウトしてください。
http_access allow localnet http_access allow localhost
上記をコメントアウトしたら、その直下に作成した under_proxy_net の許可設定を入れていきます。
http_access allow under_proxy_net
尚、その下部にある以下の設定は、許可したネットワークからのアクセス以外を拒否する設定(FWでいう暗黙のDeny)なので編集しないでください。
http_access deny all
また、プロキシサーバの待ち受けポートは以下の設定になります。
デフォルトでは 3128ポート が設定されています。必要に応じて変更してください。
http_port 3128