SoftEtherでVPNを組みMySQLに外部からアクセスできるようにする

先日、農業を営むお客様が第二拠点の展開をされまして、第二拠点でも現行のシステムがつながるようにしたいと連絡がありました。

現行のシステムは、第一拠点のローカルPC(以下サーバ)にXAMPPをインストール。MySQLを利用してDBを構成しています。

AccessのシステムからMySQLにアクセスするにはMySQL Connectorを利用してODBC機能で接続します。

外部からアクセスできるようにする手段

第二拠点から第一拠点のサーバにアクセスするにはいくつか方法があるのですが…

1.サーバをグローバルに出しポート開放
2.VPNを組む

1番のグローバル開放、言ってみればPCをインターネットの世界に開放してアクセスできるようにする手法です。
この方法はルータ側でポート開放を行う必要があるのですが、残念ながらルータのパスワードは別業者が管理しているためわかりません。
別業者に聞いてもいいのですが正直グローバルに出すのはセキュリティ観念からしてあまりやりたくありません。IP叩けばルータにすぐアクセスできるって怖くない?

2番のVPNを組む方法ですが、かんたんに組むのであればこれが早いです。全部業者がやってくれるので…
ただし金額はかなり膨らみます。設定費込みで14万円くらいかかっちゃうかも。

そこで今回はVPN機器を導入せずにVPNを組む方法を研究しました。

機器無しでVPNを組む方法

概要をかんたんに説明すると、第一拠点のサーバPCにVPNサーバ化させるフリーソフトを入れ、クライアントにはVPNクライアント化させるフリーソフトをインストールします。

今回、サーバPCもクライアントPCもすべてWindows7 64bitです。

1.サーバPC

第一拠点のサーバPCに「SoftEther サーバ管理ソフト」をインストールします。ちなみにこれはソフトイーサって読むんだゾ。

上記リンクからソフトをダウンロードします。
窓の杜ダウンロード画面には2つダウンロードボタンがありますが、「SoftEther VPN Client」がクライアント側、「SoftEther VPN Server and VPN Bridge」がサーバ側です。どっちもDLしておきましょう。

サーバPCにSoftEther VPN Server and VPN Bridgeをインストールしたら以下の画面で「新しい接続設定」を選択します。

161230-001.png

次に出てくる画面でこんな感じに設定してください。(接続設定名と管理パスワードは任意です。お好きにどうぞ。)

161230-003.png

初期設定が終わると各種設定画面が出てきます。

161230-004.png

青枠の「TCP443」はapacheでポートを使っているためエラーが出ます。まあ必要ないんで停止にしておくのが無難でしょう。

下の方で青枠で囲ってあるDDNSホスト名「xxxxxxxx.softether.net」はクライアントPCで使います。メモ帳に保存しておきましょう。

次にVPNに接続できるユーザを決めます。

「仮想HUBの管理」をクリックしてください。

161230-007.png

上の画面の「ユーザの管理」を選択します。

161230-008.png

上の画面のような感じで入力してください。ユーザ名とパスワードは任意、グループ名は作りたければ作ればいいんでない?

ここで作成したユーザ名とパスワード、あと先程のDDNSホスト名をメモ帳に保存しておきましょう。

2.サーバPC側でMySQLのファイアウォール設定を書き換える

ここが一番悩みました。MySQLを外部PCからアクセスできるようにするため、ファイアウォールの許可設定を作ります。

スタートメニューで「ファイアウォール」と検索して「セキュリティが強化されたWindowsファイアウォール」を起動します。あとは以下画像の通りどうぞ。

161230-009.png

161230-010.png161230-011.png

161230-013.png
161230-014.png

これでMySQLに外部からアクセスできるようになりました。

3.クライアントPCの設定

クライアントPCには「SoftEther VPN Client」をインストールします。インストール方法は割愛。

161230-015.png

初期の画面はこんな感じ。新しい接続設定の作成を選択すると、仮想LANカードを作成してくださいと表示されます。

161230-016.png

161230-017.png

161230-018.png

ここはおとなしく「このドライバーソフトウェアをインストールします」を選択しましょう。

161230-019.png

もうちょっとです……!
「新しい接続設定を作成」をクリックして上記画像のように設定してください。
接続設定名は任意です。ホスト名は先程メモ帳に保存したホスト先DDNSです。ポート番号は5555が無難。仮想HUB名はサーバPCで作った仮想HUB名と同じにします。
ユーザ認証では、サーバPCで作成したユーザ名とパスワードを正しく入力してください。

これでほぼ準備は完了です。仕上げに作成した接続先を右クリックして、スタートアップ接続に設定します。こうすることでPC起動時に自動的に接続されます。

161230-020.png

作成した接続先をダブルクリックすれば接続されます。初めて接続したときにNAT Traversal接続安定性低下の警告が出ますが、無視しても大丈夫でしょう。もし不具合が出たら追記します(怒

これで設定は完了です。VPNに接続されているため、形式的にはLANで接続されているのと同じように認識されています。

MySQLを利用したシステムも問題なく使えるはずですし、LANのフォルダ共有やプリンタ共有もできます。

私の環境でもODBCが難なくつながりました。

セキュリティ的にもDDNSホスト名、ユーザ名、パスワードの3つで守られていますから、ポートフォワーディングより安全なのではないでしょうか。

これで、フリーソフトだけで実践するVPN解説を終わります。