さくらのクラウド VPNルータ入門 5. L2TP/IPSecによるリモートアクセスで接続しよう

公開:最終更新日:

さくらのクラウドの「VPNルータ」はVPN(仮想プライベートネットワーク)専用ではなく、さくらのクラウド上でVPNを構築するための多機能なネットワークサービスです。この入門シリーズでも、これまでにNAT(ポートフォワーディング)やファイアウォール、DHCP、DNSフォワーダーといった機能を紹介してきました。

そして今回、いよいよVPNによるリモートアクセス機能を見ていきます。

VPNによるリモートアクセス機能

さくらのクラウドの「VPNルータ」では、リモートアクセス機能として次の3つのプロトコルに対応しています。

  • PPTP(Point-to-Point Tunneling Protocol)
  • L2TP/IPSec(Layer 2 Tunneling Protocol / Internet Protocol Security)
  • WireGuard

このうちPPTPはWindows 95のころから使われている初期のVPNプロトコルで、現在ではセキュリティの観点から非推奨となっています。このため入門シリーズでも取り上げません。この記事ではL2TP/IPSecを試し、次の記事ではWireGuardを紹介します。

L2TP/IPSecとは

L2TP/IPSecは、表記の通りL2TPとIPSecという2つのプロトコルを組み合わせた方式です。L2TPによって通信経路(トンネル)を作り、IPSecで通信を暗号化します。2000年代以降、PPTPに代わるより安全なVPNプロトコルとして広く採用されました。

現在でもWindowsやmacOS、iPhone、Androidなど多くのOSで標準的に利用できることから、VPNによるリモートアクセスの代表的な手法となっています。さくらのクラウドの「VPNルータ」では、次のマニュアルページにある通信仕様のL2TP/IPSecに対応しています。

L2TP/IPsecサーバ設定 | リモートアクセス(VPN)設定 | さくらのクラウド マニュアル

これまでの振り返りとこの記事で実現すること

ここまで「VPN入門」は4回にわたり掲載しています。まず「VPNルータ」を1つ作成し、グローバルのIPアドレス(ここでは133.125.238.37)が割り当てられた共有セグメントと、プライベートネットワークを1つ設定しました。プライベートネットワークには「サーバ」が1つ起動しています。

この環境に、グローバル側からVPNでリモートアクセスしてみます。接続元としてはWindows 11を想定します。プライベートネットワークで起動している仮想サーバと疎通できるかどうかで、WindowsからVPN接続できているかどうかを確認します。

前提とする「VPNルータ」の設定環境

接続の前提とする「VPNルータ」の設定環境を確認していきましょう。さくらのクラウドのコントロールパネルから「VPNルータ」メニューを選び、まず「インターフェース」タブを開きます。

ここでは「プライベート1」インターフェースに「192.168.0.1/24」を割り当てています。

このうち「プライベート1」に実際に配置される「サーバ」には、DHCPにより192.168.0.200から192.168.0.249までの範囲でIPアドレスが配布されます。これは「DHCP・DNS」タブの「DHCPサーバ」タブで設定されています。

プライベート1のネットワークには1台の「サーバ」が存在します。この仮想サーバのNICには、上記のDHCP設定により「192.168.0.206」が割り当てられています。

基本的にはここまでの「VPN入門」で説明してきた設定の通りですが、インターフェースに割り当てるIPアドレスのレンジを「/28」から「/24」に変更しています。これによりIPアドレスの総数が16(4ビット)から256(8ビット)に増え、プライベートネットワークとリモートアクセスのIPアドレスをわかりやすく設定できます。

それでは手順を順に説明していきます。

VPNルータの設定 1. リモートアクセスを有効にする

最初に「VPNルータ」側で、L2TP/IPSecによるリモートアクセスを受け入れるように設定しましょう。コントロールパネルの「リモートアクセス」タブを開き、さらに「L2TP/IPSec」タブを選択します。

まだ何も設定されていないので、右下の「編集」をクリックして「編集: L2TP/IPsecサーバ設定」ウィンドウを開きます。

ここで「L2TP/IPsecサーバ」を「有効」にすると、IPアドレスの「動的割り当て範囲」が指定できるようになります。ここでは「プライベート1」のDHCPと重複しないように192.168.0.100台のIPアドレスを設定しています。

次に、接続に使用するPSK(Pre-Shared Key、事前共有キー)を「Pre Shared Secret」に指定します。ここでは例示のため分かりやすい文字列を記入していますが、実際に設定するときには共通鍵として十分な強度の文字列を指定してください。使用可能な文字は、英字(大文字・小文字)・数字・アンダースコア(_)の組み合わせで、40文字まで設定できます。

すべて設定できたら、右下の「更新」をクリックしてウィンドウを閉じます。設定後には、上部の「反映」を必ずクリックしてください。

VPNルータの設定 2. ユーザーを登録する

続いて、リモートアクセスするユーザーを登録します。同じ「リモートアクセス」タブで「アカウント管理」タブを開きます。

最初は誰も登録されていないので、右下の「追加」をクリックして「リモートアクセスクライアント追加」ウィンドウを開きます。

クライアントの「ユーザ名」と「パスワード」を入力します。それぞれ記載されている利用できる文字種類と文字数の制限に従ってください。入力できたら「追加」をクリックしてユーザーを登録します。

最後に、上部の「反映」をクリックして設定を投入します。さくらのクラウド側の設定はこれで完了です。

WindowsのVPN機能を用いて接続する

設定が完了したので、クライアントであるWindows 11のVPN機能からアクセスしてみましょう。スタートボタンから「設定」ウィンドウを開き、メニューの「ネットワークとインターネット」を選択します。

右側のペインにある「VPN」をクリックします。

さらに「VPNを追加」をクリックして「VPN接続を追加」を開きます。

適当な「接続名」を入力し、先ほどの「VPNルータ」の「共有セグメント」に割り当てられている外向けのIPアドレス(ここでは133.125.238.37)を「サーバー名またはアドレス」に入力します。接続方式として「VPNの種類」で「事前共有キーを使ったL2TP/IPSec」を選択します。

先ほど設定した「事前共有キー」を入力し、さらに先ほど作成したクライアントの「ユーザー名」と「パスワード」を入力します。

Windows 11のデフォルト設定ではさくらの「VPNルータ」と通信方式が異なり、接続できない場合があるため、詳細設定を変更します。「その他のVPNプロパティ」で「編集」をクリックし、さらに「セキュリティ」タブを開きます。

VPNプロパティの設定を、上記のスクリーンショットのように変更します。以上で「OK」をクリックすれば設定は完了します。

最後にVPNの「接続」ボタンを押し、しばらく待つと接続が行われます。

接続を確認する

接続できたかどうかをWindowsのコマンドラインから確認してみましょう。まず、ipconfigコマンドを実行します。

>ipconfig

Windows IP 構成


イーサネット アダプター イーサネット:

   メディアの状態. . . . . . . . . . . .: メディアは接続されていません
   接続固有の DNS サフィックス . . . . .:

イーサネット アダプター vEthernet (WSL (Hyper-V firewall)):

<snip>

PPP アダプター sakura:

   接続固有の DNS サフィックス . . . . .:
   IPv4 アドレス . . . . . . . . . . . .: 192.168.0.100
   サブネット マスク . . . . . . . . . .: 255.255.255.255
   デフォルト ゲートウェイ . . . . . . .: 0.0.0.0

Wireless LAN adapter Wi-Fi 4:

   メディアの状態. . . . . . . . . . . .: メディアは接続されていません
   接続固有の DNS サフィックス . . . . .:

Wireless LAN adapter Wi-Fi 5:

   メディアの状態. . . . . . . . . . . .: メディアは接続されていません
   接続固有の DNS サフィックス . . . . .:

Wireless LAN adapter Wi-Fi:
<snip>

この出力から「PPP アダプター sakura」が作成され、IPアドレスとして192.168.0.100が付与されていることがわかります。

さらに、プライベートネットワークにある仮想サーバ(192.168.0.206)への疎通を、pingコマンドで確認してみましょう。

>ping 192.168.0.206

192.168.0.206 に ping を送信しています 32 バイトのデータ:
192.168.0.206 からの応答: バイト数 =32 時間 =128ms TTL=63
192.168.0.206 からの応答: バイト数 =32 時間 =125ms TTL=63
192.168.0.206 からの応答: バイト数 =32 時間 =145ms TTL=63
192.168.0.206 からの応答: バイト数 =32 時間 =98ms TTL=63

192.168.0.206 の ping 統計:
    パケット数: 送信 = 4、受信 = 4、損失 = 0 (0% の損失)、
ラウンド トリップの概算時間 (ミリ秒):
    最小 = 98ms、最大 = 145ms、平均 = 124ms

送信したパケットがすべて疎通しており、同じネットワークに接続できていることがわかります。

参考リンク

本記事では、さくらのクラウドのマニュアルから以下のページを参照しています。

VPNルータの料金については以下サイトをご確認ください。評価・検証で利用した場合、作業終了後に速やかにサービスを削除することでコストを抑制できます。

※プレミアムプラン以上をご利用の場合、上位に「ルータ+スイッチ」が必要となるため「ルータ+スイッチ」の料金も発生いたします。

亀田治伸
制作者

クラウド事業本部

亀田治伸

兵庫県伊丹市出身、米国州立南イリノイ大学卒業。認証系独立ASP、 動画・音楽配信システム構築、決済代行事業者、外資クラウドエバンジェリスト数社を経て現職。得意領域は、認証、暗号、ネットワークを中心としたセキュリティ、 映像配信、開発手法に見る組織論、クラウドアーキテクチャ、プレゼンテーション。