railsがんばる子

Ruby on Railsがんばる子です。胡蝶蘭のECサイトを運営しています。

AWSのEC2とポート転送を利用して企業の網を抜けた話

rails、全然関係ないが。。。

僕の勤務先の会社では、インターネット接続に制限があります。

  • ファイルを勝手にダウンロードしたら怒られる。

  • 15分おきにインターネット接続が強制切断され、そのたびに認証しなければいけない。

  • リクエスト全てが監視されており、社員が何を見ているのかを常にチェックしている。

  • URLフィルタリングによりいろいろなサイトが見れない。

  • はてなブログがガードされていて見れない。

  • はてなブログがガードされていて見れない。

  • はてなブログがガードされていて見れない。

22番ポートはノーガードなので、社外にプロキシ―サーバーを立ててSSH Port Forwardingすることにしました。

劣悪なインターネット環境とはおさらばだ!!

プロキシサーバーを立てる

社外サーバーとしてAWS EC2を利用します。

AWSでVPC構築 - railsがんばる子

t2.microを選択すれば1時間2円で使えるので、超お得です。

会社に1日10時間居るとしても、1日20円です。

AWSをコントロールするiPhoneアプリがあるので、使いたいときにiPhoneからサーバーを起こせばOKです。

超便利!

squidインストール

sudo yum install squid

/etc/squid/squid.conf

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します。

  • TeraTermでプロキシ―サーバーに接続。
  • 設定 > SSHポート転送
ローカルのポート: 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