squidのインストール
# yum -y install squid
プロキシサーバ側の設定
- 設定ファイル編集
# vi /etc/squid/squid.conf
squid.conf
acl CONNECT method CONNECT
# 追記 (ACLの定義追加で接続元を設定)
acl wan src xxx.xxx.xxx.xxx
# 追記 (定義したACLの許可)
http_access allow wan
# 変更(8080はバッティングしやすいので他を推奨)
http_port 8080
# 最終行に追記 (匿名サーバー化)
request_header_access Referer deny all
request_header_access X-Forwarded-For deny all
request_header_access Via deny all
request_header_access Cache-Control deny all
# ホスト名定義(必要に応じて)
visible_hostname proxy.server
# クライアント情報を表示しない
forwarded_for off
- squidの起動
# /etc/rc.d/init.d/squid start
Starting squid: [ OK ]
- サーバ起動時にsquidを自動起動するようにchkconfigに追加
# chkconfig squid on
クライアント側の設定(CentOS6.6)
# vi /etc/profile
/etc/profile
# 最終行に追記 (プロキシサーバーを環境変数に設定)
MY_PROXY_URL="111.222.333.444:8080"
HTTP_PROXY=$MY_PROXY_URL
HTTPS_PROXY=$MY_PROXY_URL
FTP_PROXY=$MY_PROXY_URL
http_proxy=$MY_PROXY_URL
https_proxy=$MY_PROXY_URL
ftp_proxy=$MY_PROXY_URL
export HTTP_PROXY HTTPS_PROXY FTP_PROXY http_proxy https_proxy ftp_proxy
- 設定の反映
# source /etc/profile
- 疎通確認
- グローバルIPを確認してプロキシサーバ側のIPが表示されればOK
# curl inet-ip.info
111.222.333.444
補足
- Javaでプロキシサーバを通す場合
// プロキシの情報を設定
System.setProperty("proxySet", "true");
System.setProperty("proxyHost", "111.222.333.444");
System.setProperty("proxyPort", "8080");
// 以下の通信は上で設定したプロキシが利用される
URL url = new URL("http://www.yahoo.co.jp/")
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
おつかれさまでした