スウィド透過プロキシのインストールとデプロイ
Squid 透明プロキシのインストールと展開に必要な手順は以下のとおりです。
- Squidのインストール: まず、 Squidソフトウェアパッケージをインストールする必要があります。Linuxシステムでは、パッケージマネージャを使用してインストールできます。たとえば、Ubuntuでは、以下のコマンドを実行してSquidをインストールします:
sudo apt-get update
sudo apt-get install squid
- /etc/squid/squid.conf
一般的な構成オプションを示します。
- http_port: 設定する Squid プロキシの監視用ポート。既定値は 3128
- http_access:クライアントがプロキシーにアクセスする権限を制御します。例: http_access allow allを使用すると、すべてのクライアントがプロキシーにアクセスできます。
- visible_hostname:プロキシ表示用ホスト名をセットします。
構成ファイルでは、透過プロキシを実現するために幾つかの追加の構成を追加する必要があります。
http_port 3128 transparent
http_port 8080 transparent
http_access allow localhost
http_access allow localnet
http_access deny all
http_port 3129
http_port 3130
http_port 3129 intercept
http_port 3130 intercept
acl localnet src 192.168.0.0/16
acl SSL_ports port 443
acl Safe_ports port 80
acl Safe_ports port 21
acl Safe_ports port 443
acl Safe_ports port 70
acl Safe_ports port 210
acl Safe_ports port 1025-65535
acl Safe_ports port 280
acl Safe_ports port 488
acl Safe_ports port 591
acl Safe_ports port 777
acl CONNECT method CONNECT
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
http_access deny all
上記の設定ではポート3128と8080は透過プロキシポートとして設定され、ローカルホストおよびローカルネットワークからのアクセスは許可されます。それ以外からのアクセスは拒否されます。
- ネットワークの設定:トランスペアレント プロキシを実現するには、ネットワークの設定も必要になります。具体的な設定は、使用するオペレーティングシステムとネットワーク構成に応じて異なります。一般的な設定手順を以下に示します。
- ファイアウォール設定:システムでファイアウォールが動作中の場合、プロキシポートを通ってトラフィックを許可することが必要です。具体的には使用するファイアウォールソフトウェアによってファイアウォール設定は異なります。
- ルーティングの設定:Squid プロキシにネットワークトラフィックをリダイレクトする必要があります。これはルーティングテーブルを構成することで実施できます。以下のコマンドを使用して、すべてのトラフィックをプロキシの IP アドレスにリダイレクトできます。
sudo iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 3128
eth0 を自分のネットワークインターフェイス名に、3128 を Squid のリスニングポートに置き換えてください。
- 設定完了らSquidを起動させる。また、システムの起動時に自動起動するように設定する。
sudo systemctl start squid
sudo systemctl enable squid
Squidの透過プロキシをインストールと展開できました。透過プロキシはネットワークの性能に影響を与える可能性がありますので、展開前に適切にテストと最適化を行ってください。