CentOSでプロキシサーバを構築する

背景

  • 業務でインターネット接続ができないサーバから、インターネットに接続できるサーバをproxyとして外部NWと通信する必要があった。今後も似たようなことは多いと思われるのでこちらにまとめる。

Proxyとして動作させるサーバへSquidをセットアップする

  1. yumでインストールを行う
sudo yum update
sudo yum install squid
  1. バージョンを確認して正常にインストール出来ていることを確認する。
squid -v
  1. Squidの自動起動設定を行い、再起動する。
sudo systemctl enable squid
sudo systemctl restart squid

4.Squidがポート3128を使用していることを確認する。

sudo lsof -i:3128

5.出力例

COMMAND   PID  USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
squid   21800 squid   11u  IPv6  37157      0t0  TCP *:squid (LISTEN)

6.firewallの穴あけ

デフォルトではSquidのポートは3128が設定されており、Port番号3128へ送られるパケットは受け取れるように設定する。

sudo firewall-cmd --zone=public --permanent --add-port=3128/tcp #許可ポートの追加
sudo firewall-cmd --reload #設定反映
sudo firewall-cmd --zone=public --list-all #結果確認(portに3128が追加されていることを確認)

proxy clientへのセットアップ

proxyを踏み台にプライベートIPでclientにSSHする。 それぞれの設定ファイルにプロキシの設定を記入する。

3128以外のポートを利用している場合は適宜変更する必要があります。

  • yumの場合のproxy設定
  proxy=http://<proxyのプライベートIP>:3128
  • wgetの場合のproxy設定
http_proxy=http://<proxyのプライベートIP>:3128
https_proxy=http://<proxyのプライベートIP>:3128
  • curlの場合のproxy設定
proxy=http://<proxyのプライベートIP>:3128

参考にしたサイト