#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)

トップ   差分 バックアップ リロード   一覧 検索 最終更新   ヘルプ   最終更新のRSS