CentOSでプロキシサーバを構築する
背景
- 業務でインターネット接続ができないサーバから、インターネットに接続できるサーバをproxyとして外部NWと通信する必要があった。今後も似たようなことは多いと思われるのでこちらにまとめる。
Proxyとして動作させるサーバへSquidをセットアップする
- yumでインストールを行う
sudo yum update
sudo yum install squid
- バージョンを確認して正常にインストール出来ていることを確認する。
squid -v
- 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