AWSのEC2とポート転送を利用して企業の網を抜けた話
rails、全然関係ないが。。。
僕の勤務先の会社では、インターネット接続に制限があります。
ファイルを勝手にダウンロードしたら怒られる。
15分おきにインターネット接続が強制切断され、そのたびに認証しなければいけない。
リクエスト全てが監視されており、社員が何を見ているのかを常にチェックしている。
URLフィルタリングによりいろいろなサイトが見れない。
はてなブログがガードされていて見れない。
はてなブログがガードされていて見れない。
はてなブログがガードされていて見れない。
22番ポートはノーガードなので、社外にプロキシ―サーバーを立ててSSH Port Forwardingすることにしました。
劣悪なインターネット環境とはおさらばだ!!
プロキシサーバーを立てる
社外サーバーとしてAWS EC2を利用します。
t2.microを選択すれば1時間2円で使えるので、超お得です。
会社に1日10時間居るとしても、1日20円です。
AWSをコントロールするiPhoneアプリがあるので、使いたいときにiPhoneからサーバーを起こせばOKです。
超便利!
squidインストール
sudo yum install squid
acl manager proto cache_object acl localhost src 127.0.0.1/32 ::1 acl to_localhost dst 127.0.0.0/8 0.0.0.0/32 ::1 acl localnet src 10.0.0.0/8 # RFC1918 possible internal network acl SSL_ports port 443 acl Safe_ports port 80 # http acl Safe_ports port 443 # https acl CONNECT method CONNECT http_access allow manager localhost localnet http_access deny !Safe_ports http_access deny CONNECT !SSL_ports http_port 3128 hierarchy_stoplist cgi-bin ? cache_dir ufs /var/spool/squid 100 16 256 coredump_dir /var/spool/squid visible_hostname squid.pr05241 # 必須らしいので適当な名前を付けました
構文チェックして、キャッシュディレクトリを作ります。
sudo squid -k parse sudo squid -z
squidを開始します。
sudo /etc/rc.d/init.d/squid start
ログを見ながら動きを確認していきます。
sudo tail -f squid/access.log
EC2から確認します。
上記のアクセスログに出力されていると思います。
curl google.com -x localhost:3128
サーバー起動時にsquidを起動するようにしておきます。
sudo chkconfig squid on
SSH Port Fowarding
プロキシ―サーバーに直接つなぎたいところですが、22、80、443くらいしかポートが空いてません。
そこでTeraTermを利用してSSH Port Forwardingします。
ローカルのポート: 3333 好きなポートで大丈夫です。 リモート側のホスト: localhost ポート: 3128 squid.confで設定したポートです。
最後、インターネットエクスプローラーでプロキシ―サーバーの設定です。
ツール > インターネットオプション > 接続タブ > LANの設定 > プロキシサーバー
アドレス: localhost ポート: 3333 ※詳細設定の例外に社内イントラ系のホストを入れておくと幸せになれます
参考ページ
http://blog.michinari-nukazawa.com/2013/11/squid-3-proxy-server-install-and-setup.html
http://yutaka-j.hatenablog.com/entry/2013/12/22/160657
http://www14.plala.or.jp/campus-note/vine_linux/server_ssh/ssh_portforwarding.html