突如PROXYサーバを構築してみたいと思い、やってみた。
例えば、ある国でしか閲覧できないようなサイトに、自宅からPROXY経由でアクセスするみたいな利用シーンを想定。
AWSならいくつかのリージョンにサーバ構築できるからね。
前提
- AWSアカウントを持っていること
- 適当なLinuxのEC2インスタンスを作成し、SSH接続できる状態であること。
- セキュリティグループにて、手順内で設定するIPアドレスとTCPポート番号を許可しておくこと。
squidのインストール
PROXYサーバーは「squid」を使用する。
squidのインストール〜設定はこちら参考に実施。
http://qiita.com/pcnikki/items/404329f9ad9cb6e235d4
ファイアーウォールの設定
iptablesを編集し、パケットフィルタリングを行う。
$ vi /etc/sysconfig/iptables
ポート22への許可の次の行あたりに以下を追記。
ポートはsquidに記載したhttp_portを、xxx.xxx.xxx.xxxにはあなたのIPアドレスを記載する。
99999の部分は適当なポート番号を設定する。
-A INPUT -p tcp -m tcp --dport 99999 -s xxx.xxx.xxx.xxx -j ACCEPT
参考:私のiptables
# Firewall configuration written by system-config-firewall
# Manual customization of this file is not recommended.
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 59998 -s xxx.xxx.xxx.xx -j ACCEPT #←この行を追記した
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT
ファイアーウォールの設定反映
/etc/init.d/iptables restart
参考にさせていただきました。
http://oxynotes.com/?p=6361
以上でPROXYサーバの構築完了。
あとで気付いたこと
自宅ルータを再起動すると、プロバイダから割り振られるIPアドレスが変わっちゃう。
xxx.xxx.xxx.xxxの部分をいちいち変更しないといけない・・・。
めんどい・・・。