プロバイダにVPNの口をふさがれたっぽいので、SSL-VPNを導入する

2013年5月14日

タイトルの通りです。

最近外出先から家のネットワークに繋がらないなぁと思ったら

プロバイダでふさがれたっぽいのです。。

ついでにいうと、DoCoMoのスマホでテザリングして接続ということが出来なかったので

それも可能にしたい。

で、IPSecとかも考えましたが

SSL-VPNという方式でつないだら楽かも?という事で

SoftEther VPNというものを使ってみたいと思います。

このSoftEther VPNというのは、ソフトイーサ株式会社という所が作っている

PacketiX VPNというソフトウェアの機能制限したフリーウェア版という事のようです。

で、PacketiX VPNについての詳しい説明は、以下のURLを参照いただきたい。

http://www.softether.co.jp/jp/vpn2/introduction/about_vpn.aspx

簡単にいうと、VPNのサーバ側とクライアント側にそれぞれ仮想NICを作成し、サーバ側仮想NICとクライアント側の仮想NICとを接続する事によってセッション繋いで中身の通信をSSLで暗号化している、という感じになります。

通常の、というか一般的に一般人が手にしやすい家庭用のルータとかだと、PPTPで接続する事になりますが

このPPTPだと、1723ポートの解放のほかにプロトコルGRE(プロトコル番号47)の通信が必要になり、プロバイダに許可されていない場合はPPTPによるVPN接続が出来ないことになります。

PacketiX VPNの場合、SSL通信である443ポートを使って接続するので

上記のプロトコルGREによる制限を受けない事になります。

PacketiX VPNは、ほかにもさまざまなネットワーク上の壁を回避する手段が備わっているので

たいていの場合はVPN接続が可能になると思われます。

ということで、構築します。

サーバ側にはUbuntuを使いたいと思います。

Ubuntuは適当にセットアップしておきます。

http://www.softether.org/のページから

サーバ側ソフトウェアをダウンロードします。

softether01

ダウンロードしたファイルを解凍すると、vpnserverというディレクトリが出来るので、この中に入ってmakeします。
[shell]cd vpnserver
hoge@vpn:/usr/local/vpnserver$ make
——————————————————————–

SoftEther VPN Server (Ver 1.00, Build 9079, Intel x86) for Linux Install Utility
Copyright (c) SoftEther Project at University of Tsukuba, Japan. All Rights Reserved.

——————————————————————–

Do you want to read the License Agreement for this software ?

1. Yes
2. No

Please choose one of above number:
1 #<= これは1

Did you read and understand the License Agreement ?
(If you couldn’t read above text, Please read 'ReadMeFirst_License.txt’
file with any text editor.)

1. Yes
2. No

Please choose one of above number:
1 #<= これも1

Did you agree the License Agreement ?

1. Agree
2. Do Not Agree

Please choose one of above number:
1 #<= これも1
[/shell]
以上で実行ファイルの作成とともに、実行可能であるかのチェックが走ります。

vpnserverを起動します。
[shell]sudo ./vpnserver start[/shell]
とします。
※443ポートを使うため、Ubuntuの場合sudoをつけて実行する必要があります。

UbuntuサーバがVMWare上で動いている場合、VMware上の設定で

NICの無差別モードというのをONにする必要があります。
※VMware vShereの場合

また、仮想NIC用として、NICの追加をしておく必要があります。

softether08

つぎに、/etc/interfaces

仮想NIC用の設定もします。
[shell]auto eth1
iface eth1 inet static
address 0.0.0.0[/shell]
を追加し、/etc/init.d/network restart

これでサーバ側は実行できました。

これを管理するツールは、Windows側に入れます。

ダウンロードページから

SoftEther VPN Server Manager for Windows

というソフトウェアをダウンロードします。

インストールするソフトウェアはSoftEther VPN サーバー管理マネージャ(管理ツールのみ)
というのを選択します。

softether02

サーバー管理マネージャを起動すると、以下のようになっています。

softether03

新しい接続先として、先ほどのUbuntuのIPアドレスを入力して接続します。

最初の接続だとパスワード設定画面が開くので、設定します。

softether09

続いて、SoftEther VPN Server簡易セットアップ画面が開くので、リモートアクセス、VPNサーバにチェックを入れて次へ。

softether10

仮想HUBの名前を設定。

softether11

ダイナミックDNS機能は、プロバイダで設定される各家庭へのIPが動的な場合に
softether社が運営するDNS機能を使って固定のドメイン名を取得する機能になります。
IPが固定である場合とか、自分でDDNSを使用している場合などは、これは無効かしておいてもよいかもしれません。

softether12

ユーザを作成します。

softether13

ローカルブリッジ設定をします。

ここで先ほど作成した仮想NIC(eth1)と仮想HUBを関連づけます。

これで、だいたいのサーバ側の設定は完了しました。

続いて、クライアント側です。

別マシンなどにインストールして確認すると接続できたことがわかりやすいと思います。

まずはクライアントをダウンロードします。

softether05

インストーラなので、指示通りにインストールします。

softether14

インストールが完了したらクライアントを起動して、新しい接続設定の作成をクリックします。

softether06

最初は仮想LANカードを追加することを促されるので、そのまま追加します。

softether15

softether07

ホスト名に、ダイナミックDNS機能で設定されたドメイン名を入力します。
仮想HUBには、サーバ設定時に指定した仮想HUBの名前を指定します。
あとはユーザ名・パスワードを入力して完了。

あとは、VPNサーバに接続してみましょう。

ubuntuSSL-VPN,VPN

Posted by GENDOSU