塩田紳二のアンドロイドなう (70) VPNを使う その2 「VPNサーバーを立てる」

ニュース
トップ

【コラム】

塩田紳二のアンドロイドなう

70 VPNを使う その2 「VPNサーバーを立てる」

塩田紳二  [2014/05/27]

70/85

VPNをアンドロイドで使う解説シリーズの2回目は、VPNサーバーをインストールしてみることにします。ただし、VPNサーバーはWindowsマシン(非Windows Server)にインストールすることとし、そのインターネット接続環境は、個人宅の一般的な構成である「ブロードバンドルーター」+「ローカルネットワーク」とします。また、VPNサーバーをインストールするマシンは、常時インターネットに接続可能なものとし、原則、スリープしない設定になっているものとします。

VPNソフトウェアとしては、フリーで利用可能な「Softether VPN」を使います。これを使う理由はフリーであるからというのもありますが、無料のダイナミックDNSサービスがあり、IPアドレス割り当てが固定でない一般的なISPを使っていても外出先からVPNサーバーに接続が可能になるからです。また、アンドロイドやデスクトップアプリケーションをインストールできないWindows RTにも対応するなど、クライアント側の対応プラットフォームが多いこともメリットです。

まずは、サーバーソフトウェアをダウンロードしてインストールします。また、WindowsやLinux用には、専用クライアントも用意されているので、必要に応じてインストールしてもいいでしょう。ただし、本連載はアンドロイド向けであるため、WindowsやLinuxのクライアントのインストールや設定については解説しません。

・SoftEther VPN
http://ja.softether.org/

・ソフトウェアダウンロード
http://ja.softether.org/5-download

SoftEther VPNのサイトからWindows版のサーバーソフトウェア(SoftEther VPN Server and VPN Bridge)をダウンロードしてインストールします。

インストールが完了し、最後の表示(写真01)で「SoftEther VPNサーバー管理マネージャを起動します」というのがオンになっていれば、管理ツール「SoftEther VPN Server Manager」が起動します(写真02)。設定はここから行います。リストで「localhost(このサーバー)」が選択されていることを確認して「接続」ボタンを押します。最初は、サーバーの管理用パスワードの設定です。以後の管理で必要になるので、忘れないように何かに記録しておきます。

写真01: インストールが終わったときのウィンドウに「SoftEther VPNサーバー管理マネージャを起動します」という項目があり、これがオンになっていると管理マネージャが起動する。設定はこの管理マネージャから行う

写真02: サーバー管理マネージャには、「localhost(このサーバー)という項目があるのでこれを選択して「接続」ボタンを押す。このあと、管理用パスワード設定がある

次に「簡易セットアップ」ウィンドウ(写真03)が表示されるので、「リモートアクセスVPNサーバー」にチェックを入れて「次へ」ボタンを押します。

写真03: 簡易セットアップ画面では、「リモート アクセスVPNサーバー」にチェックを入れて「次へ」で先に進む

次の設定項目は「仮想HUB名」ですが、ここはデフォルトの「VPN」のままでかまいません。なお、以後の説明では、仮想HUB名はVPNであることを前提とするため、名前を変えて登録した場合には、適宜説明を読み替えてください。

次はダイナミックDNSの設定です(写真04)。ダイナミックDNSは、固定IP割り当てでないISPを使う場合に、インターネット側にあるDNSサーバーにVPNサーバーのIPアドレスを登録して、インターネット側からDNS名で常にアクセスを可能にする機能です。SoftetherVPNには、無料の専用ダイナミックDNSサービスがあり、自動的にIPアドレスを登録してくれます。これを利用するためには、ホスト名を登録しなければなりません。ウィンドウ右側中央付近に推奨のホスト名が提示されています。このまま「閉じる」ボタンを押せば登録は完了です。ホスト名をルールの範囲内で自由に設定できますが、他人と重複した名前を使うことはできません。なので、ここを変更すると、場合によっては何回か変更して利用可能な名前を探す必要があります。

写真04: ダイナミックDNS機能では、提示された名前(ダイナミックDNSホスト名の変更部分)をそのまま使うか、自分で名前を指定する

次はVPNの接続方式の設定です(写真05)。ここでは「L2TPサーバー機能を有効にする」のチェックをオンにして、ウィンドウ左下の「IPsec事前共有キー」を設定します。IPsec事前共有キーは、クライアントを正しく認識するための情報なので、ここもちゃんと記録しておきます。「IPsec事前共有キー」は、あとでアンドロイドの設定を行う場合に利用します。

写真05: 「IPsec/L2TP/EtherIP/L2TPv3設定」では、「L2TPサーバー機能を有効にする」のチェックボックスをオンにして、画面下の「IPsec事前共有鍵」に適当な共有鍵を指定する。VPNサーバーは同じ共有鍵を持つクライアントからの接続を許可するが、暗号化キーなどは別になるので適当な名前(ただし推測されにくいもの)を設定する

次の設定は「VPN Azureサービスの設定」です(写真06)。これは、VPNサーバーがファイアウォールの内側にあったり、あるいはWindows RTマシンで利用する場合に必要になりますが、このサービスも無料なので、ウィンドウ左下にある「VPN Azureを有効にする」をオンにします。すると、ダイナミックDNSで設定した名前を使った「VPN Azureサービス名」が表示されるます。ここに表示されたホスト名は、設定で利用するので記録しておいたほうがいいでしょう。ただし、アンドロイドのVPN設定では使いません。

写真06: VPN Azureサービスの設定は、アンドロイドの接続だけなら設定する必要はないが、ファイアウォールの設定変更が困難な場合やクライアントにWindows RTを使う場合には設定する必要がある。なお設定しておいても、悪影響はないので、設定しておくほうがいいだろう

最後は「簡易セットアップの実行」です(写真07)。ここは、「VPN接続を受け入れるためのユーザーの作成」と「ローカルブリッジの設定」を行います。まず、「ユーザーを作成する」ボタンを押します。

写真07: 「簡易セットアップの実行」画面となるので、まずは、「ユーザーを作成する」ボタンを押してユーザー作成を行う

「ユーザーの新規作成」(写真08)では、「ユーザー名」、「パスワード」、「パスワードの確認入力」を設定します。どちらもクライアントの接続で必要になる情報なので、記録しておきます。他の項目「本名」や「説明」などを設定してもかまいません。OKボタンを押すとユーザー管理ウィンドウが表示されるので、登録が正しいかをリストで確認したあと「閉じる」ボタンを押します。

写真08: ユーザー名やパスワード(確認入力も)を設定する。他のところは設定しなくてもよく、トラブルを避けるため触らないほうがいいだろう。認証方法は「パスワード認証」になっていることを確認しておく

次に戻ってきた「簡易セットアップの実行」にある「ローカルブリッジの設定」で、VPN接続が行われるネットワークアダプタ(インターネットに接続するネットワークアダプタ)を選択し(写真09)、「閉じる」ボタンを押します。

写真09: また写真07の画面に戻るので、今度は、「ローカルブリッジの設定」で、自宅内のネットワークに接続しているネットワークアダプタを選択する。最後に「閉じる」ボタンで設定を終了する

これで設定は終わりです。サーバー管理マネージャのウィンドウ(写真10)が表示されているはずなので、仮想HUBである「VPN」の状態が「オンライン」になっていることを確認して「閉じる」ボタンをおします。VPNサーバーはWindowsのサービスとして動作しているため、管理マネージャのウィンドウは閉じてしまってかまいません。

写真10: サーバー管理マネージャの管理画面になる。この状態でリストに「オンライン」となっていれば、VPNサーバーは動作している。問題がなければ右下の「閉じる」ボタンでウィンドウを閉じる

ブロードバンドルーターの設定

これでVPNサーバーは動作していますが、ブロードバンドルーターでは、VPNサーバーを含め、一般的にインターネット側からの接続を拒否するように設定されています。また、LAN側の複数のマシンからのインターネット接続のため「NAT」が動作しています。このため、ルーターの設定を変更し、インターネット側からVPNサーバーへ向かうパケットを通すようにします。

通過させるのは、TCPで、ポート番号は以下のIPsec用のポートと、サーバー管理マネージャの左下側にある「リスナーの一覧」にあるポート番号です。

★IPsec用ポート番号
500
4500
★SoftEther VPNの標準リスナーポート
443
992
1194
5555

ここでは、サンプルとしてNECのAterm WR8600Nでの設定を紹介します。この機種では「ポートマッピング」という機能を使って、VPNサーバーが動作しているマシン(のIPアドレス)に前記のポート番号へ到達するパケットを転送させます。なお、設定前にVPNサーバーが動作しているマシンのIPアドレスを調べておきます。

WR8600Nは、Webブラウザから設定が可能です。設定ページを開いたら、「詳細設定」 ⇒ 「ポートマッピング設定」を開きます。「追加」ボタンを使って、VPNサーバーのIPアドレスに対してTCPのポート番号を設定していきます(写真11)。WR8600では、1つの設定項目で不連続なポート番号を指定できないので、複数の項目として登録します(写真12)。

写真11: NECのAtermシリーズの場合、VPNサーバーへのアクセスを可能にするには、「詳細設定」 ⇒ 「ポートマッピング機能」を選び、NATエントリを追加する。ここでLAN側ホストはVPNサーバーの動作しているマシンのホスト。プロトコルはTCP、ポート番号はVPNサーバーが待ち受けしているポート番号(サーバー管理マネージャのリスナー一覧にある)を指定する。優先度はAtermシリーズ固有の設定値ですでに登録してある優先度以外のものを指定する

写真12: Atermのポートマッピング機能は非連続のポート番号は複数のエントリとして登録する必要があるため、このように必要なポートをすべて登録する。このリストは優先度の順に並び、優先度の高いものが先に適用される。ただし、登録時にすでに登録した優先度と同じ数字は使えないので注意すること

あとは設定を保存して、ルーターの設定は終了です。他社のルーターでは名称や設定方法は違いますが、原理としては、指定したポート番号あてにTCPのパケットが来たら、VPNサーバーのマシンへパケットが転送されるようにします。一般に「ポートフォワード」や「ポートマッピング」などと呼ばれています。

ルーターの設定が終われば、VPNサーバーはインターネット側からアクセスが可能になります。テストを行うには、内側のLAN内からは試すことができないので、自宅のインターネット接続とは別のインターネット接続方法(たとえば携帯電話によるアクセス)が必要です。なお、テストは、PCなどアンドロイド以外の機器で行うことも可能なので、機器が利用可能ならVPNの接続テストを先に済ませておくことも可能です。VPNサーバーの動作を確認しておくと、アンドロイドを接続する場合のトラブル対策が簡単になります。なぜなら、VPNサーバーが動作していることがわかれば、まずはアンドロイド側をチェックすればいいからです。そういうわけで、次回は、アンドロイド側の設定と接続テストを解説する予定です。

本稿は、2014年5月26日にAndorid情報のWeb専門誌「AndroWire」に掲載した記事を再構成したものです。

70/85

インデックス

連載目次
第85回 「Nexus 9」ファーストインプレッション - ハードウェア編
第84回 充電しながらUSBデバイスが使えるホストケーブル
第83回 Android "L"プレビューとAndroidWareがアップデート
第82回 ちょっとイケてる「Kyocera Hydro Vibe」
第81回 Android "L" バッテリ消費を監視する
第80回 アクセスポイントの基本を知る
第79回 OneDriveとGoogleドライブ
第78回 シェルのネットワーク関連コマンド
第77回 "L"の中身
第76回 アンドロイドウェア(Android Wear)は暫定バージョン?
第75回 LGのスマートウォッチ「G Watch」
第74回 "L"がくる
第73回 次は「Lollipop」か? その前にKitKatが4.4.3に
第72回 VPNを使う その3 「VPNをアンドロイドから使う」
第71回 「Chromecast」とは?
第70回 VPNを使う その2 「VPNサーバーを立てる」
第69回 VPNを使う その1 「基礎編」
第68回 アンドロイドのストレージ
第67回 「NVIDA SHIELD」のソフトウェア
第66回 「NVIDA SHIELD」のハードウェア
第65回 HDMIとMHL、SlimPort - ディスプレイ接続端子を整理してみる
第64回 「LG L1 II」を買ってみた
第63回 アンドロイドに音楽を「聞かせる」
第62回 住所録の秘密
第61回 Outlook.comをカレンダーに表示する
第60回 ソースコードはどこにある?
第59回 AndroidのBluetoothテザリングとWindows 8.1
第58回 NFCでマニュアル参照を簡単に
第57回 あらためて「ポータブルアクセスポイント」をきちんと試してみる
第56回 「ビルド番号」ってなに?
第55回 画面キャプチャをバッチファイルで実行
第54回 adbコマンドをちょっと解説
第53回 「android 4.4 "Kit Kat"」で画面を録画する
第52回 「android 4.4 "Kit Kat"」の内部的な変更点
第51回 「android 4.4 "Kit Kat"」を解説
第50回 「Nexus 5」を買ってみた
第49回 Google Keepはリマインダーだった
第48回 android 4.2からサポートされた「ワイヤレスディスプレイ」
第47回 画面キャプチャー
第46回 ヘッドセットの秘密
第45回 Nexus 7のLTEモデル
第44回 Nexus 4買いました。アメリカで。
第43回 ブートローダーとfastboot
第42回 Jelly Beans 4.3 Returns
第41回 Chromecast、テレビに刺さる
第40回 デバイスマネージャでAndroidの位置を確認
第39回 新しいNexus 7を買ってみた
第38回 Jelly Beans 4.3
第37回 レノボ「K900」を国際版化
第36回 NFCで遊ぶ
第35回 自宅で簡単ファイル転送
第34回 レノボ「K900」のカスタマイズされたJelly Beansを見てみる
第33回 CloverTrail+のスマートフォン、レノボ「K900」を買ってみた
第32回 AndroidがBluetooth 4.0を正式サポート
第31回 ARMの次世代CPU「Cortex-A12」
第30回 SDKをインストールしよう
第29回 ウィジェットを活用
第28回 QRコードでお手軽設定
第27回 XPERIA Tipoとロンドンアンロック屋事情
第26回 diNovoキーボードを使う
第25回 キーボードをカスタマイズする
第24回 Androidキーボードのしくみ
第23回 2段階認証を使おう
第22回 いらないプリインストールアプリを削除
第21回 64bitなんて必要なのかしら?
第20回 アメリカでアンドロイドの読書端末を買ってみた
第19回 Android 4.2の新機能
第18回 Android Beamって何だ?
第17回 NFCで何ができる?
第16回 Nexus 7をアメリカで買ってみた
第15回 AndroidをPCにつなぐと
第14回 Androidの記憶領域
第13回 Google Nowを使ってみる
第12回 AndroidのUSBホスト機能
第11回 デュアルSIMを使ってみる
第10回 キーボード一体縦型Androidマシン
第9回 Androidの言語設定
第8回 アンドロイドに道を聞く
第7回 Google Playはどうやってアプリの公開を制御しているのか?
第6回 「Acer A100」がICSになった
第5回 つながっているのはACアダプタ、それともUSB端子
第4回 スマートフォンを普通の電話としてつかってみた
第3回 Androidからの通知を表示可能な腕時計
第2回 アームを誤解してませんか?
第1回 MWCで見たAndroid

もっと見る

新着記事

特別企画

一覧

    人気記事

    一覧

    新着記事

    【コラム】塩田紳二のアンドロイドなう 第86回 「Nexus 9」ファーストインプレッション - ソフトウェア(Lollipop)編
    [08:00 11/19] 携帯
    日本MSとNHKメディアテクノロジー、クラウド型の次世代映像制作分野で連携
    [08:00 11/19] エンタープライズ
    ソネット、Windows Server延長サポート終了に伴う移行を支援する特設サイト
    [08:00 11/19] エンタープライズ
    Thermalright、CPUクーラー「SILVER ARROW」にMini-ITXケース対応モデル
    [08:00 11/19] パソコン
    ジュニパー、通信事業者向け仮想ルーター「vMX」
    [08:00 11/19] エンタープライズ

    特別企画

    一覧