Alibaba Cloud VPN Gateway の SSL-VPN を複数ユーザで共有して使ってみました

2022年10月5日掲載

キービジュアル

VPN Gateway(以下、VPNGW)の接続には、主に IPSec-VPN 方式と SSL-VPN 方式があります。IPSec-VPN はローカル拠点とクラウド VPC 間の接続によく使われる方式です。拠点側の出口に物理または仮想ルータを用意する必要があります。メリットとして IPSec トンネル1本で拠点内の全端末から共用可能です。一方、SSL-VPN はローカル端末から直接クラウド VPC 環境につながる方式です。接続ソフトウェアはいろいろありますが、OpenVPN が最も一般的です。メリットはソフトウェアを用意するだけで、手軽にクラウド側と VPN 通信が可能になります。

SSL-VPN 方式は手軽に導入できるものの、SSL-VPN の最大同時接続数で課金されるため、利用料金が課題になりやすいです。また、VPN 接続をするためには、その都度、接続ソフトウェアの操作が必要になりますので、多少面倒に感じることもあります。特に、1台の Windows 端末内の複数ユーザで同一の SSL-VPN 接続を利用したいという要望をよく聞きます。

今回、本記事ではこれら課題を解消し、さらに手軽に SSL-VPN を利用する方法をご紹介したいと思います。まずはじめに標準的な SSL-VPN の接続手順を紹介します。次に、1台の Windows 端末に一つの SSL-VPN 接続を確立し、複数の Windows ユーザがその SSL-VPN 接続を利用できることを確認します。最後に、Windows 起動時にログインせず、SSL-VPN 接続が自動的に立ち上がる方法を紹介していきたいと思います。

目次

  • Alibaba Cloud VPN Gateway に関する記事です。
  • 複数のユーザで一つの SSL-VPN 接続を利用する方法を検証します。
  • Windows 起動時にログインせず、SSL-VPN 接続が自動的に立ち上がる方法を紹介します。

概要構成図

今回検証する SSL-VPN 方式の構成はいたってシンプルです。先に Windows 管理者ユーザで OpenVPN を利用した SSL-VPN 接続を行います。

そして、その SSL-VPN 接続を切断しないまま、Windows 標準ユーザが同一SSL-VPN 接続で通信できるかを確認します。通信可能な場合、さらに Windows ログインせずの SSL-VPN 接続自動化をやってみたいと思います。

a

構築手順-1:クラウド環境構築

さて、クラウド側の VPNGW インスタンスと疎通確認用 ECS を作成しましょう。

 

1-1.VPNGW インスタンスを購入します。

Name: 任意入力
Region:東京
VPC:VPNGW の所在 VPC を選択
Maximum Bandwidth:10Mbit/s
SSL-VPN:Enable
IPsec-VPN:Disable
 ※Disable の選択肢は初期表示されないため、SSL-VPN を先に Enable にする必要があります

a

1-2.SSL-Server を作成します。

Name: 任意入力
VPN Gateway:1-1で作成した VPNGW を選択
Local Network:1-1で選択した VPC の CIDR を入力
Client Subnet:任意入力
 ※Local Network はローカル Windows(クライアント PC)が所属するネットワークの CIDR と被らない必要があります

a

1-3.SSL-Client を作成します。

Name: 任意入力
SSL-Server:1-2で作成した SSL-Server を選択

a

1-4.SSL-Client 証明書をダウンロードします。

ダウンロードしたファイル名: certs.zip

解凍後のファイル名

  1.  ca.crt
  2.  config.ovpn
  3.  vsc-(証明書ID).crt
  4.  vsc-(証明書ID).key
a

1-5.VPNGW 所在の VPC 内に疎通確認用 ECS を作成します。

リージョン:東京
VPC CIDR:172.24.0.0/16
ECS IP Address :172.24.0.1

a

構築手順-2:OpenVPN 環境構築

2-1.OpenVPNの最新版をダウンロードします

ローカル Windows 端末に管理者ユーザでログインし、OpenVPN 公式サイトから最新版(執筆時点 OpenVPN-2.5.7-I602-amd64.msi)をダウンロードします。

OpenVPN 公式サイト

1

2-2.OpenVPNをインストール

インストールファイルをダブルクリックし、「Install Now」をクリックしてインストールします。

1

2-3.接続する

1-4で解凍した4つファイルを「C:\Program Files\OpenVPN\config\」フォルダに移動し、タスクバーの OpenVPN アイコンから「接続」をクリックします。

a

2-4.SSL-VPN 接続ができたことを確認します。

a

2-5.管理者ユーザのプロンプトから、ECS へ疎通できることを確認します。

Windows 端末(管理者ユーザ) → 疎通確認用ECS(172.24.0.1)

a

構築手順-3:複数ユーザの疎通確認

3-1.Windows の標準ユーザを作成します。

a

3-2.管理者ユーザをログアウトしないまま、3-1で作成した標準ユーザに切り替えます。

a

3-3.標準ユーザで OpenVPN 未接続であることを確認します。

a

3-4.標準ユーザのプロンプトから、ECSへ疎通できることを確認します。

Windows 端末(標準ユーザ) → 疎通確認用 ECS(172.24.0.1) 

a

構築手順-4:SSL-VPN 接続自動化の構築

管理者ユーザで確立した SSL-VPN 接続は、標準ユーザ利用可能であることを確認できましたが、毎回管理者ユーザのログインと手動の VPN 接続は手間なので、両方を省ける仕組みを構築したいと思います。今回は、タスクスケジューラを利用して、Windows 起動時に自動的に SSL-VPN 接続が立ち上がる方法を実装します。

SSL-VPN を張るコマンドのバッチを作成し、ログイン時に自動実施する方法もありますが、標準ユーザの場合、ルート追加に権限不足で失敗してしまいます。

タスクスケジューラの場合、ログインする前でも管理者権限を指定して SSL-VPN を張ることで、標準ユーザでも利用可能です。

 

4-1.管理者ユーザに戻り、下記内容のバッチファイルを作成します。

@echo off

cd C:\Program Files\OpenVPN\bin

openvpn^

–config “C:\Program Files\OpenVPN\config\config.ovpn” ^

–ca  “C:\Program Files\OpenVPN\config\ca.crt” ^

–cert  “C:\Program Files\OpenVPN\config\vsc-(証明書ID).crt” ^

–key  “C:\Program Files\OpenVPN\config\vsc-(証明書ID).key”

exit

 

4-2.タスクスケジューラを作成します。

[一般]

  • 名前:VPN
  • ユーザがログオンしているかどうかにかかわらず実行する
  • 最上位の特権で実行する
1

[トリガー]

  • トリガー:スタートアップ時
  • 状態:有効
1

[操作]

  • 操作:プログラムの開始
  • 詳細:4-1で作成したバッチファイルの絶対パス
a

[条件]

  • すべてのオプションの選択を解除
a

[設定]

  • タスクを要求時に実行する
  • 要求時に実行中のタスクが終了しない場合、タスクを強制的に停止する
a

4-3.端末を再起動して接続テスト

端末を再起動し、管理者ユーザログオンしなくても、標準ユーザのプロンプトから、ECS へ疎通できることを確認します。

Windows 端末(標準ユーザ) → 疎通確認用 ECS(172.24.0.1) 

a

まとめ

今回は Windows 端末において、複数ユーザが一つの SSL-VPN 接続の共有利用が可能であることを確認し、SSL-VPN 接続自動化の実装方法を検証してみました。 

一つの SSL-VPN 接続が重複利用できることで、利用料金が安く済むことはもちろん、SSL-VPN でも IPSec-VPN のように、ユーザが VPN 接続する操作を意識することがなく、常時の VPN 通信がシンプルになりました。特にユーザが多い場合、従来の複数証明書発行や、同時 VPN 接続できない問題解消ができました。もし複数のユーザが常時 SSL-VPN 接続するニーズがありましたら、本記事を参考にしてみてください。

関連サービス

Alibaba Cloud

Alibaba Cloudは中国国内でのクラウド利用はもちろん、日本-中国間のネットワークの不安定さの解消、中国サイバーセキュリティ法への対策など、中国進出に際する課題を解消できるパブリッククラウドサービスです。

MSPサービス

MSP(Managed Service Provider)サービスは、お客さまのパブリッククラウドの導入から運用までをトータルでご提供するマネージドサービスです。

おすすめの記事

条件に該当するページがございません