#author("2025-09-10T23:40:37+09:00","","") [[Linux/基本セットアップ]] #author("2025-09-11T00:01:53+09:00","","") #navi2(Linux/基本設定,toc,prev,next) ---- #contents ---- * Linux/squid (プロキシサーバー) [#n2a781b7] * Linux/基本設定/squid (プロキシサーバー) [#n2a781b7] プロキシサーバー、ウェブキャッシュサーバーなどに利用されるソフトウェアです。 ** インストール [#u7b2d702] sudo apt install -y squid ** 設定 [#ra6ae31d] /etc/squid/squid.conf ファイルを次のように修正します。 # <修正: 1410行目付近> # ローカルネットからのアクセスを許可する場合、下記行を有効にする http_access allow localnet # <追加: 末尾に追加する> # # 上位プロキシに転送する場合の設定 # cache_peer <hostname> <type> <http-port> <icp-port> [options] # type : parent, sibling, multicast # http-port : http 要求を受け入れるポート番号 # icp-port : 隣接キャッシュにオブジェクトに関する紹介をするためのポート # 利用しない場合は、0 # options : login=user:password (※password はエスケープ等不要です) cache_peer <proxy-host> parent <proxy-port> 0 login=<user>:<password> # # # 親プロキシを通さないネットワーク設定 # acl xxxxx1 dst xxx.xxx.xxx.xxx/xx # acl xxxxx2 dst xxx.xxx.xxx.xxx/xx # always_direct allow xxxxx1 # always_direct allow xxxxx2 # 以下、ローカルネットは直接アクセスする設定 acl local_direct dst 0.0.0.1-0.255.255.255 # RFC 1122 "this" network (LAN) acl local_direct dst 10.0.0.0/8 # RFC 1918 local private network (LAN) acl local_direct dst 100.64.0.0/10 # RFC 6598 shared address space (CGN) acl local_direct dst 169.254.0.0/16 # RFC 3927 link-local (directly plugged) machines acl local_direct dst 172.16.0.0/12 # RFC 1918 local private network (LAN) acl local_direct dst 192.168.0.0/16 # RFC 1918 local private network (LAN) acl local_direct dst fc00::/7 # RFC 4193 local private network range acl local_direct dst fe80::/10 # RFC 4291 link-local (directly plugged) machines acl local_direct dst 127.0.0.0/24 # localhost alway_direct allow local_direct never_direct allow all never_direct allow CONNECT # # キャッシュしない場合は、以下を記載する。 cache deny all ** 設定反映 [#caabeb6c] sudo systemctl reload squid ** ローカルに立てて squid 経由で外部にアクセスさせる設定 [#f2d0da3e] - /etc/apt/apt.conf.d/80proxy にプロキシを設定する。 sudo sh -c "echo 'Acquire::http::Proxy \"http://127.0.0.1:3128\";' > /etc/apt/apt.conf.d/80proxy" sudo sh -c "echo 'Acquire::https::Proxy \"http://127.0.0.1:3128\";' >> /etc/apt/apt.conf.d/80proxy" - git git config --global http.proxy http://127.0.0.1:3128 git config --global https.proxy http://127.0.0.1:3128 - Docker sudo mkdir -p /etc/systemd/system/docker.service.d sudo sh -c "echo '[Service]' > /etc/systemd/system/docker.service.d/http-proxy.conf" sudo sh -c "echo 'Environment=\"HTTP_PROXY=http://127.0.0.1:3128/\" \"NO_PROXY=localhost,127.0.0.1\"' >> /etc/systemd/system/docker.service.d/http-proxy.conf" - その他 (bashrc などに記載) export HTTP_PROXY=http://127.0.0.1:3128/ export HTTPS_PROXY=http://127.0.0.1:3128/ export NO_PROXY=127.0.0.1,localhost #navi2(Linux/基本設定,toc,prev,next)