オンライン授業とVPN 3.【実践編】VPN構築と展開

 > NetSupport School  > オンライン授業とVPN 3.【実践編】VPN構築と展開

オンライン授業とVPN 3.【実践編】
VPN構築と展開

【準備編】の記事では、NetSupport Schoolをオンライン授業(在宅学習)でもお使いいただくために必要な「VPN」について、いくつもの方式や技術が存在するVPNの種類と、VPNを構築するにあたって準備すべき事柄についてご紹介しました。
最終回となる今回は、VPNサーバーの構築と、クライアント(生徒・学生さん)への展開方法についての記事をお届けします。

1. L2TP/IPsec PSK方式のVPNサーバーを立てる

【準備編】の記事で紹介したVPNプロトコルの中で、学校での展開に最適なのは、やはり最も普及しているL2TP/IPsecの事前共有キー(PSK)方式だと思います。OpenVPNやWireGuardなども性能的にはメリットがあるのですが、ファイルの配布による展開が必要なので、現時点ではクライアントへの設定に課題がありそうです。
この記事ではL2TP/IPsec PSKを中心に、VPNの構築手段や必要な知識をご紹介します。ただし、構築手順に踏み込むと長くなってしまうので、今回は省きます。
それぞれの手段による構築手順や構築例など有用な情報が、「Qiita」をはじめとしてWebサイト上にたくさんありますので、検索して参考にされるとよいでしょう。

1) ルーターの機能を利用

NTT東日本・西日本の「フレッツ光」やインターネットプロバイダー/通信キャリア各社の光コラボレーションサービス(光コラボ)で、「ひかり電話(光コラボでは名称が異なる場合あり)」などを契約している場合にレンタルで提供されるのがNTTロゴ入りのルーター「ホームゲートウェイ(HGW)」です。学校でも多く使われていると思います。
HGWの型番400番台以降では、L2TP/IPSec(PSK=事前共有キー方式)のVPN機能が標準提供されています。利用方法はHGWの説明書をご覧いただくとして、最も手軽な方法です。
HGWのVPNでは、アカウント(ユーザー)は20個まで作成できます。20人が同時に接続できるということになります。
また、HGWが提供されないプロバイダーでは市販ルーターを用いることになりますが、市販ルーターにもL2TP/IPSecやOpenVPNなどの機能が用意されている場合があります。同じメーカーでも、機種のグレードによってあったりなかったりします。
市販ルーターなら、中堅~中小企業向けの業務用として定評のあるヤマハのルーター、中でもVPNの対地数(≒同時接続できるユーザー数)が多いRTXシリーズがおすすめです。特にオンライン授業ですと、同時に多くの生徒・学生さんが家庭等からVPN接続するでしょうから、性能や安定性に定評のあるヤマハ製は、予算が許すなら検討したいものです。
ヤマハのルーターでは、CLI(Windowsのコマンドプロンプトのようなコマンド文字列)を用いて細かい設定ができますが、VPNサーバーとして利用するための必要な設定は、HGWなどと同様、Web GUI上だけで可能です。
VPNサーバーとして利用する場合に便利なDDNS(前述)が無料で提供されているのも、ヤマハ製のよいところです。
一般的な家電量販店で買えるボリュームゾーンのルーター製品(5,000円~20,000円)と比べると、価格がやや高め(RTX830=VPN対地数20=で実売45,000円前後~、RTX1210=VPN対地数100=で同70,000円前後)で、しかもWi-Fiがないので、Wi-Fiが必要な場合は別途Wi-Fiアクセスポイント(ヤマハ製品もありますが、家電量販店扱いのWi-Fiルーターで代用可)を用意する必要もあります。

ヤマハRTX830でのVPN(L2TP/IPsec PSK)共通設定

【ヤマハRTX830でのVPN(L2TP/IPsec PSK)共通設定。「認証鍵(pre-shared key)」が事前共有鍵(PSK)です。
ヤマハルーターでは、ルーター配下のLANに外部からアクセスするための一般的なVPNは「リモートアクセス」と呼ばれます】


ヤマハRTX830でのVPN設定/ユーザー登録画面

【ヤマハRTX830でのVPN設定/ユーザー登録画面。この機種では最大20ユーザーまで登録できます】


2) VPNサーバーソフトウェアを利用して校内に立てる

ルーターにVPNサーバーの機能がない場合、VPNサーバーとして利用するサーバーPC(電源を切らずに連続稼働させてもよいもの)を決めた上、VPNサーバーのソフトウェアをインストールして利用することになります。
また、L2TP/IPsecのためのルーターでのポート開放も同様に必要ですので、この方法でもルーターの設定変更は不可欠です。

VPNサーバーソフトウェアは「SoftEther VPN Server」がおすすめです。特にWindowsではこれ一択だと思います。
無償で配布されているだけでなく、日本国内(筑波大学)で開発されているため、サーバー・クライアント・ドキュメント・Webなど、画面を含むすべての情報が日本語で提供されています。

SoftEther VPN ServerのWindows用管理用画面

【SoftEther VPN ServerのWindows用管理用画面。ローカルにインストールしたものだけでなく、
クラウド(後述)や他の場所のLANにあるVPNサーバーも管理可能】


本来、このSoftEther VPN Serverは独自のVPNプロトコル(SE-VPN)を提供する目的で開発されたものです。SE-VPNは前述したSSL-VPNの一種であり、WindowsとLinuxで提供されている専用のクライアントソフトウェア(SoftEther VPN Client)で接続する限り、他のVPNプロトコルでは不可欠なルーターのポート開放が不要です(ただし、接続の安定性等の理由からポート開放の利用が推奨されています)。このクライアントも非常に簡単にインストールできますので、端末がWindowsだけなら、このプロトコルを利用するのもよいでしょう。

SoftEther VPN Clientの接続管理画面

【SoftEther VPN Clientの接続管理画面】


現在はAndroidやiOSなどのスマートフォンが普及したこともあって、L2TP/IPsec(PSK, RSAとも)やOpenVPNのサーバーを立てる目的で利用されることも多いです。また、SE-VPNと同じくSSL-VPNの仲間であるMS-SSTPとも互換性があります。
Apple製品やAndroidにはSoftEtherのクライアントは提供されませんので、L2TP/IPsecかOpenVPNを利用することになります。
なお、ルーターのVPNでは上限のある同時接続可能なセッション数(≒ユーザー数)は最大4,096で、一般的な使用方法なら実質的には無制限といえますが、同時に接続するユーザー数が多いと性能が低下しますので、最大同時接続数の上限を設定することもできます。

あと、SoftEther VPNをおすすめする理由のひとつに、前述のDDNSを標準・無償で提供していることが挙げられます。可変IPアドレスのインターネット接続を利用している場合は、非常に便利です。

3) 外部のサーバー(クラウド)に立てる

セキュリティやその他管理上の事情、ないしはサーバー・ネットワーク関連の設定を管理業者へ一任しており、自身で変更できないなどの理由でVPNサーバーを校内に立てられない場合は、「クラウド(外部)に立てる」という手段もあります。
外部にVPNサーバーを構築し、先生・生徒を問わず、授業参加者全員のPCをそのサーバーに接続する方法です。
「クラウド」という言葉は、今や聞いたことのない方のほうが少ないと思います。広義のクラウドは、コンピューターのハードウェアやソフトウェアを構内(校内)に置かず、インターネットを通じて利用すること全般を言いますが、ここでは「サーバーを外部のサービスを利用して立てる」という意味で用います。

VPNサーバーを外部(クラウド)に立てた場合の概念図

【VPNサーバーを外部(クラウド)に立てた場合の概念図】

VPNの立てられるクラウドには、「パブリッククラウド(IaaS)」や「VPS(仮想プライベートサーバー)」があります。VPSはVPNと名前が似ていますが、「VP」までの意味が同じだからです。
パブリッククラウドは「AWS」や「Azure」などが有名で、名前を聞かれたことのある方も多いでしょう。国内のVPSで個人・法人名義を問わずに立てられ、実績も比較的豊富と思われるものとしては「WebARENA」、「さくらのVPS」、「ConoHa」などがあります。
外部サーバーを利用する場合の注意点やデメリットとして、パブリッククラウドはローカルサーバーと変わらないほどの速度ですが、データ転送料金が従量制(利用期間や容量に応じて課金)で発生します。一方のVPSはデータ転送料金が月額固定の利用料金に含まれているのが普通ですが、速度はやや劣る場合があり、データ転送量に上限が存在することもあります。
また、パブリッククラウドもVPSでも、クラウドでVPNサーバーを動かすには校内に立てる場合と同様、クラウド側でのポート開放設定が必要で、その手順はクラウドごとに異なります。(校内のルーターは設定を変更する必要はありません)
設定はいずれもそこまで難しいものではなく、手順通りにやれば確実に動きますが、やはり、サーバーやネットワークの設定について、ある程度基本知識のある方向けとはいえます。

学校で費用をかけずにVPNを構築するなら、LinuxのVPSがおすすめです。
パブリッククラウドにもVPSにもWindowsが選べるところがあり、どのWindowsにも必ず入っている「リモートデスクトップ接続」を使って、普通のWindows同様に操作やアプリのインストールができますが、クラウドで提供されるWindowsは「Windows Server」というバージョンで、もともとのライセンスが高額なこともあり、やや高価です。
Linuxならコマンドラインでの設定が前提となるものの、VPSの国内サービス最安値は月額300円台からで、データ転送量やサーバーの性能も、NSSでのオンライン授業なら十分かと思います。
VPNサーバーソフトウェアとしては、LinuxでもやはりSoftEther VPN Serverがおすすめです。
最低限のインストールだけをコマンドラインから行い、ユーザー作成など詳細設定はWindows上のソフトウェア「SoftEther VPN サーバー管理」からリモートで行うこともできます。ポート開放を行った上でL2TP/IPsecを有効化しておくと、MacやiPad、Androidタブレットも利用できます。
あと、クラウドにVPNサーバーを立てる場合、そのVPNサーバーがルーターとして扱われ、クライアントとの間でLANを構成することになります。クライアントにIPアドレスを割り振る「仮想DHCPサーバー」も、SoftEther VPNには搭載されているので、別途の用意は不要です。ただし、初期状態では無効なので、「仮想HUB」の中にある「仮想NATおよび仮想DHCPサーバー機能」(SecureNAT機能)で有効化する必要があります。
下図のように、SecureNATで仮想NATを使用せず、仮想DHCPだけが有効になるように設定すると、DHCPによってクラウドに接続中のクライアントの間だけで有効なIPアドレスが割り当てられるようになります。

国内のVPSに立てたSoftEther VPNの設定例

【国内のVPSに立てたSoftEther VPNの設定例。
仮想HUBの「SecureNATの設定」で「仮想DHCPサーバーを使用する」だけを
有効にするのがおすすめ】

要はクラウド上のVPNサーバーをルーターとする仮想のLANが組まれるわけですが、NSSはこの状態でも動作しますし、一方インターネット通信の方はVPNを通過しないので、Zoomなどを併用してもクラウドの転送量に影響を与えることもありません。オンライン授業向けにおすすめの構成です。
なお、VPSでは通常、固定のパブリックIPアドレス(IPv4)が1つ提供されます。ドメインをお持ちであれば、DDNSやドメインレジストラのDNSでVPSにドメイン名を紐付けることも可能ですが、IPアドレスはVPSを停止しない限り変わらないので、利用者にはIPアドレスのまま通知しても構わないでしょう。
パブリッククラウドの場合、固定パブリックIPアドレスは使うかどうかは任意で、料金も発生します(「無料枠」扱いで、1契約につき固定IP1つまで無料になる場合もあります)。もし使わない場合は、クラウドを再起動するたびにIPアドレスが変わることになりますので、DDNSが必須です。

2. VPNクライアントの展開

前述の通り、L2TP/IPsec PSK(事前共有キーを使ったL2TP/IPsec)のクライアントは、Windowsをはじめ、ほとんどのPCやスマートデバイスのOSでサポートされています。
L2TP/IPsec PSKのクライアント側で必要となる設定内容は、どのOSでも以下の6点です。Windowsには設定画面の最上部に「VPNプロバイダー」の項目がありますが、通常、選択肢は「Windows(ビルトイン)」だけです。
なお、クライアント側ではポート開放は特に必要ありません。

・ 接続名称(任意の名前)
・ VPNサーバーの接続先(ドメイン名またはパブリックIPv4アドレス)
・ VPNの種類(「事前共有キーを使ったL2TP/IPsec」ないしは「L2TP/IPsec PSK」を選択)
・ 事前共有キー(PSK)
・ ユーザー名(ID)
・ パスワード

Windows 10のVPN接続追加画面の例

【Windows 10のVPN接続追加画面の例】


L2TP/IPsec PSKの接続情報を展開する場合は、以上の情報を先生方から生徒さんに個別に伝えることになります。
紙であれメールであれ、ID、パスワード、PSKの漏洩にはくれぐれもご注意ください。
もし漏洩してしまった場合は、PSKを変更するのが最も効果的と思います。PSKが変われば接続はできません。

3. おわりに

以上、3本の記事に分けて長々と説明してきましたが、結論としてはNSSでのオンライン授業の実現に必要なものは、以下の通りということになります。

・ポート開放の設定(ルーター、またはクラウド)
・VPNサーバー(ルーターの機能、特定のPCにインストール、クラウドに立てる、のいずれか)
・VPNクライアントの設定(接続先情報とID/パスワード/PSKの利用者への展開)

なお、サーバー・ネットワーク関連の構築や保守を外部の業者さんに委託している場合は、そうした業者さんでもVPNの構築や利用方法のレクチャーに応じてくれるかもしれません。
ただし、外部に依頼するにしても、VPNを用いたオンライン授業にあたってVPNの知識はあった方がよいと思います。ここにご紹介した内容が、VPNでオンライン授業を準備中、または現に実践しておられる先生方の参考になれば幸いです。



1.【基礎編】はこちら   2.【準備編】はこちら