blog/content/labs/network/2015-01-31-use-vpn-server-f...

13 KiB
Raw Blame History

title author date wordtwit_posted_tweets wordtwit_post_info tmac_last_id categories
コンシューマー向けのハイエンドルーターでVPNを利用してみた kazu634 2015-01-31
a:1:{i:0;i:6658;}
O:8:"stdClass":14:{s:6:"manual";b:1;s:11:"tweet_times";i:1;s:5:"delay";s:1:"0";s:7:"enabled";s:1:"1";s:10:"separation";i:60;s:7:"version";s:3:"3.7";s:14:"tweet_template";s:142:"ブログに新しい記事を投稿したよ: コンシューマー向けのハイエンドルーターでVPNを利用してみ… - [link] ";s:6:"status";i:2;s:6:"result";a:0:{}s:13:"tweet_counter";i:2;s:13:"tweet_log_ids";a:1:{i:0;i:6658;}s:9:"hash_tags";a:0:{}s:8:"accounts";a:1:{i:0;s:7:"kazu634";}s:4:"text";s:161:"ブログに新しい記事を投稿したよ: コンシューマー向けのハイエンドルーターでVPNを利用してみ… - http://tinyurl.com/mwh37en";}
594128247962505216
インフラ

Router

海外からだと一部のサイトが閲覧できないケースがあります。有名な例をあげれば、中国だとFacebookにアクセスできなかったりします。こうした場合、IT系のエンジニアは考えます。VPNを張ろうって。今回は実家のネットワーク環境の改善をした際に、ハイエンドルーターを導入し、VPNを利用できるようにしてみたので、その時に実施したことをつらつらとまとめてみます。

VPNとは

VPNは、Virtual Private Networkの略です。

Virtualという言葉を「仮想」としてしまうとわかりづらくなってしまうのですが、一言で言ってしまえば、「細かな違いはあるけれども気にしなくてOK。実質的には同じだから」みたいな意味と捉えるといいかと思っています。

Private Networkというのは、「専用線」というやつです。要するに、糸電話みたいに、通信するときに、特定の二者間だけのために専用に線を引いたものを指しています。こうすると、断線しない限り確実に通信できるし、通信品質も自分達以外に利用している人がいないため、一定の水準が保証されます。

まとめると、VPNというのは、実質的には専用線と同じように機能する仕組みとなります。

VPNを使うとどうなるのか

VPNを利用すると、接続先のVPNサーバーからインターネットに接続することができます。つまり、自分がどこにいようとも、VPNサーバーさえ日本にあれば、VPNサーバーを経由することで日本からアクセスしていることにできるのです。海外からアクセスすると、海外のネットワーク上にあるファイアーウォールで接続をブロックされることがあります:

foreign_network

これではアクセス出来ないので、日本にあるVPNサーバーに接続してあげることで、こんな感じで接続できるようになります:

vpn_connection

海外のネットワークでブロックされるところを、うまいこと回避できてしまうわけです。Virtualな部分を強調すると、本当は上の画像の経路で接続しているのですが、こんな風にあたかも接続しているように振る舞います:

vpn_connection2

ハイエンドルーターを導入する前の実家のネットワーク環境

ハイエンドルーターを導入する前はこのようなネットワーク図でした。よく考えたら、ADSLルーターだから、ここを普通のルーターに置き換えることはできませんでした。。。:

before_001

ハイエンドルーター導入後の実家のネットワーク環境

導入後はこのような形になりました:

after_001

導入に際して実施したこと

基本的にはほとんどやることはありません。買ってきたルーターでVPN機能を有効にしてあげました。

考慮しなければいけなかったのは以下の点です:

problems

①については、プロバイダーと契約するときに固定IPアドレスを取得していなければ、不定期に外部からアクセスするときのIPアドレスが変更されてしまいます。勝手に変更されてしまうと、外部からアクセスできなくなってしまうので、DDNSという仕組みを利用してあげます。DDNSというのは簡単に言うと、IPアドレスに名前をつけてあげて(例えば www.google.com とかね)、IPアドレスの変更を検知したら、名前に紐づくIPアドレスを変更してあげる仕組みです。名前は常に同じだけれども、紐づくIPアドレスは常に更新されるため、一見固定IPアドレスにしているように見せる仕組みです。PCが起動した時に更新するようにしておきました。詳細はDDNSとか、DiCEでググってください。

②については、ADSLルーターのDHCPサーバーの設定を変更してあげて、購入したルーターに常に同じIPアドレスを割り振るようにしました。

最後に、ADSLルーターのインターネット側からVPN関連のアクセスが有った際に、購入したルーターにNAT(=転送)する設定を入れてあげて、設定を終えました。

problems_002

接続確認

手元のiPhoneで接続確認してみました。まずはVPN接続する前のグローバルIPアドレスを確認します:

Recently Added-28

この状態でVPN接続してみます:

All Photos-56

つながりました。小さく「VPN」と表示されてることに注目:

All Photos-58

この状態でグローバルIPアドレスを確認します:

Recently Added-27

実家から接続している状態になっているわけですから、当然ながらグローバルIPアドレスが変わっています