LoginSignup
0
0

squidでプロキシサーバの作成

Posted at

テスト環境のビルが移行し、伴ってリモートアクセス周りの環境も変わり踏み台サーバが必要となったため構築。

環境

仮想化:VMware workstation-pro15
ホスト:Windows10
ゲスト:ubuntu22.04.3TLS

Squidのインストール

Squidのインストール
sudo apt update
sudo apt install squid

Squidの基本設定

squid.confをバックアップ
sudo cp /etc/squid/squid.conf /etc/squid/squid.conf.original
squid.confを編集
sudo nano /etc/squid/squid.conf

最小限の設定として、以下のようにアクセス制御の設定を追加する。この例では、プライベートネットワーク(192.168.1.0/24)からのアクセスのみを許可。

最小限の設定例
acl localnet src 192.168.1.0/24
http_access allow localnet
  • http_port 3128: Squidがリクエストを受け付けるポートを指定(デフォルトは3128)。
  • acl localnet src 192.168.1.0/24: localnet という名前のアクセスコントロールリスト(ACL)を作成し、192.168.1.0/24ネットワークからのアクセスを許可。
  • http_access allow localnet: localnet ACLのアクセスを許可する。
  • http_access deny all: 上記のルールにマッチしないすべてのアクセスを拒否する。
リロードして変更を適用
sudo systemctl reload squid

Squidの動作確認

Squidの動作確認
sudo systemctl status squid

Squidクライアント側の設定

プロキシを経由してインターネットにアクセスするクライアント側の設定
SquidサーバーのIPアドレスとポート3128を指定する。

(参考)デフォルトのsquid.conf設定 (コメント行以外の出力)

miwapinn@VM1:~$ grep -v '^#' /etc/squid/squid.conf | grep -v '^$'
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
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
http_access allow localhost manager
http_access deny manager
include /etc/squid/conf.d/*.conf
http_access allow localhost
http_access deny all
http_port 3128
coredump_dir /var/spool/squid
refresh_pattern ^ftp:           1440    20%     10080
refresh_pattern ^gopher:        1440    0%      1440
refresh_pattern -i (/cgi-bin/|\?) 0     0%      0
refresh_pattern \/(Packages|Sources)(|\.bz2|\.gz|\.xz)$ 0 0% 0 refresh-ims
refresh_pattern \/Release(|\.gpg)$ 0 0% 0 refresh-ims
refresh_pattern \/InRelease$ 0 0% 0 refresh-ims
refresh_pattern \/(Translation-.*)(|\.bz2|\.gz|\.xz)$ 0 0% 0 refresh-ims
refresh_pattern .               0       20%     4320
miwapinn@VM1:~$ 
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0