このトピックでは、SSL-VPNを使用して、Linux、macOS、Windows、またはAndroidを実行するクライアントを仮想プライベートクラウド (VPC) に接続する方法について説明します。 これにより、クライアントはVPC内のリソースにアクセスできます。
背景情報
次の図は、SSL-VPNを使用してLinux、macOS、Windows、またはAndroidを実行するクライアントをVPCに接続する方法の例を示しています。
前提条件
Alibaba Cloudアカウントを作成する必要があります。 Alibaba Cloudアカウントをお持ちでない場合、
クライアントのプライベートCIDRブロックは、VPCのプライベートCIDRブロックと重複しません。
クライアントはインターネットにアクセスできること。
VPCのElastic Compute Service (ECS) インスタンスに適用されるセキュリティグループルールについて学習しました。 セキュリティグループルールでクライアントがECSインスタンスにアクセスできるようにしてください。 詳細については、「」をご参照ください。セキュリティグループルールの表示とセキュリティグループルールの追加.
手順
手順 1: VPN ゲートウェイの作成
VPN Gatewayページをクリックします。VPN Gateway の作成.
VPN Gatewayページで、次のパラメーターを設定し、[今すぐ購入] をクリックして、支払いを完了します。
パラメーター
説明
名前
VPNゲートウェイの名前。
リソースグループ
VPN gatewayが属するリソースグループ。
このパラメーターを空のままにすると、VPN gatewayはデフォルトのリソースグループに属します。
リソース管理コンソールで、リソースグループ内のリソースを管理できます。 詳細については、「」をご参照ください。リソース管理とは
リージョンとゾーン
VPNゲートウェイを作成するリージョン。
説明VPNゲートウェイとVPCが同じリージョンにあることを確認してください。
ゲートウェイタイプ
VPNゲートウェイのタイプを選択します。 この例では、標準 が選択されています。
ネットワークタイプ
VPN gatewayのネットワークタイプを選択します。 この例では、[公開] が選択されています。
トンネル
サポートされているトンネルモードが自動的に表示されます。
[VPC]
接続するVPC。
vSwitch 1
関連付けられたVPCのVPNゲートウェイを関連付けるvSwitch。
シングルトンネルを選択した場合、vSwitchを1つだけ指定する必要があります。
デュアルトンネルを選択した場合、2つのvSwitchを指定する必要があります。
IPsec-VPN機能を有効にすると、IPsec-VPN接続を介してVPCと通信するためのインターフェイスとして、2つのvSwitchのそれぞれにelastic network interface (ENI) が作成されます。 各ENIはvSwitchで1つのIPアドレスを占有します。
説明システムはデフォルトでvSwitchを選択します。 デフォルトのvSwitchを変更または使用できます。
VPNゲートウェイの作成後、VPNゲートウェイに関連付けられているvSwitchを変更することはできません。 VPN gatewayの詳細ページで、VPN gatewayに関連付けられているvSwitch、vSwitchが属するゾーン、およびENIをvSwitchで表示できます。
vSwitch 2
関連付けられたVPCのVPNゲートウェイを関連付ける2番目のvSwitch。
TunnelsパラメーターにSingle-tunnelを選択した場合は、このパラメーターを無視します。
ピーク帯域幅
VPNゲートウェイの最大帯域幅。 単位は、Mbit/s です。
トラフィック
デフォルトでは、VPNゲートウェイはデータ転送課金方式を使用します。 詳細については、「課金ルール」をご参照ください。
IPsec-VPN
IPsec-VPN機能を有効にするかどうかを指定します。 この例では、[無効] が選択されています。
SSL-VPN
VPN gatewayのSSL-VPN機能を有効にするかどうかを指定します。 この例では、[有効化] が選択されています。
SSL接続
接続するクライアントの数。
説明SSL接続パラメーターは、SSL-VPN機能を有効にした後にのみ使用できます。
有効期間
デフォルトでは、VPN gatewayは1時間ごとに課金されます。
サービスにリンクされたロール
VPN Gatewayのサービスにリンクされたロール。 [サービスにリンクされたロールの作成] をクリックすると、サービスにリンクされたロールAliyunServiceRoleForVpnが自動的に作成されます。
VPN gatewayは、他のクラウドリソースにアクセスするためにこの役割を引き受けます。 詳細については、「AliyunServiceRoleForVpn」をご参照ください。
[作成済み] が表示されている場合は、サービスにリンクされたロールが作成され、再度作成する必要がないことを示します。
VPN gatewayページに戻り、作成したVPN gatewayを表示します。
前の手順で作成したVPN gatewayは、準備中 状態です。 約1〜5分後、VPNゲートウェイは正常状態になります。 正常 状態は、VPNゲートウェイが使用できる状態であることを示します。
手順2: SSL サーバーの作成
左側のナビゲーションウィンドウで、 .
上部のナビゲーションバーで、SSLサーバーを作成するリージョンを選択します。
説明作成したSSLサーバーとVPN gatewayが同じリージョンにあることを確認してください。
SSL サーバーページをクリックします。SSLサーバーの作成.
SSLサーバーの作成 パネルで、SSLサーバーに次のパラメーターを設定し、[OK] をクリックします。
名前: SSLサーバーの名前。
リソースグループ: VPN gatewayが属するリソースグループ。 デフォルトでは、SSLサーバーが属するリソースグループは、VPN gatewayが属するリソースグループと同じです。
VPN Gateway: SSLサーバーに関連付けるVPNゲートウェイ。
ローカルネットワーク: 接続先のVPCのCIDRブロック。
[ローカルネットワークの追加] をクリックすると、CIDRブロックを追加できます。 VPC、vSwitch、またはオンプレミスネットワークのCIDRブロックを追加できます。
クライアントCIDRブロック: クライアントがSSLサーバーに接続するために使用するCIDRブロック。
重要クライアントCIDRブロックのサブネットマスクの長さは16〜29ビットである必要があります。
ローカルCIDRブロックとクライアントCIDRブロックが重複しないようにしてください。
10.0.0.0/8、172.16.0.0/12、192.168.0.0/16、またはそれらのサブネットのいずれかをクライアントCIDRブロックとして使用することを推奨します。 パブリックCIDRブロックをクライアントCIDRブロックとして指定する場合は、パブリックCIDRブロックをVPCのユーザーCIDRブロックとして指定する必要があります。 これにより、VPCはパブリックCIDRブロックにアクセスできます。 詳細については、「」をご参照ください。ユーザーCIDRブロックとは何ですか? とユーザーCIDRブロックを設定するにはどうすればよいですか? 「FAQ」トピックのセクション。
SSLサーバーを作成すると、クライアントCIDRブロックを指すルートがVPCルートテーブルに自動的に追加されます。 クライアントCIDRブロックを指すルートをVPCルートテーブルに再度追加しないでください。 そうしないと、SSL-VPN接続は期待どおりに機能しません。
詳細設定: この例では、デフォルト設定が使用されています。
詳細については、「SSLサーバーの作成と管理」をご参照ください。
手順3: SSLクライアント証明書の作成とダウンロード
左側のナビゲーションウィンドウで、 .
SSL クライアントページをクリックします。SSL クライアントの作成.
[SSLクライアントの作成] パネルで、SSLクライアント証明書の名前を入力し、SSLサーバーが属するリソースグループと、SSLクライアント証明書を関連付けるSSLサーバーを選択し、[OK] をクリックします。
SSL クライアントページで、作成したSSLクライアント証明書を見つけ、ダウンロードで、アクション列を作成します。
手順 4: クライアントの設定
次のセクションでは、Linux、Windows、macOS、またはAndroidを実行するクライアントを構成する方法について説明します。
Linuxを実行するクライアントの構成
コマンドラインインターフェイス (CLI) を開きます。
OpenVPNをインストールします。
# Run the following command to install OpenVPN on CentOS: yum install -y openvpn # Run the following command to check whether the system creates the /etc/openvpn/conf/ directory. If the directory is not created, you must manually create the /etc/openvpn/conf/ directory. cd /etc/openvpn # Go to the openvpn/ directory. ls # Check whether the conf/ directory is created in the openvpn/ directory. mkdir -p /etc/openvpn/conf # If the conf/ directory does not exist in the openvpn/ directory, you must manually create the conf/ directory. # Run the following command to install OpenVPN on Ubuntu: apt-get update apt-get install -y openvpn # Run the following command to check whether the system creates the /etc/openvpn/conf/ directory. If the directory is not created, you must manually create the /etc/openvpn/conf/ directory. cd /etc/openvpn # Go to the openvpn/ directory. ls # Check whether the conf/ directory is created in the openvpn/ directory. mkdir -p /etc/openvpn/conf # If the conf/ directory does not exist in the openvpn/ directory, you must manually create the conf/ directory.
ダウンロードしたSSLクライアント証明書パッケージを解凍し、SSLクライアント証明書を/etc/openvpn/conf /ディレクトリに移動します。
/etc/openvpn/conf/ ディレクトリに移動し、次のコマンドを実行してSSL-VPN接続を確立します。
openvpn --config /etc/openvpn/conf/config.ovpn --daemon
Windowsを実行するクライアントを構成する
をダウンロードしてインストールします。Windows用OpenVPNクライアント.
ダウンロードしたSSLクライアント証明書パッケージを解凍し、SSLクライアント証明書をOpenVPN\configディレクトリに移動します。
この例では、証明書はC:\Program Files\OpenVPN\configにコピーされます。OpenVPNクライアントがインストールされているディレクトリに証明書をコピーする必要があります。
OpenVPNクライアントを起動し、接続接続を確立します。
Tunnelblickを使用してmacOSを実行するクライアントを設定する
次のセクションでは、Tunnelblickを使用してmacOSを実行するクライアントとVPNゲートウェイ間のSSL-VPN接続を確立する方法について説明します。
ダウンロードTunnelblick.
この例では、Tunnelblick 4.0.1が使用されます。 ビジネス要件に基づいてTunnelblickバージョンをダウンロードできます。 最新バージョンをダウンロードすることを推奨します。 TunnelblickをDMG形式でダウンロードすることをお勧めします。これは直接インストールして使用できます。
Tunnelblickをインストールします。
いいえ
説明
1
ダウンロードしたインストールパッケージをダブルクリックします。
2
Tunnelblickアイコンをダブルクリックします。
3
[設定ファイルがあります] を選択します。
4
[OK] をクリックします。
ダウンロードしたSSLクライアント証明書パッケージを解凍します。ステップ3.
アップロード
config.ovpn
ファイルをTunnelblickに送信してSSL-VPN接続を確立します。いいえ
説明
1
Mac LaunchpadのTunnelblickアイコンをクリックしてTunnelblickを開きます。
2
抽出した
config.ovpn
ファイルをConfigurationsパネルにドラッグアンドドロップします。3
[自分のみ] を選択します。
4
[接続] をクリックします。
OpenVPNを使用してmacOSを実行するクライアントを構成する
次のセクションでは、OpenVPNを使用してmacOSを実行するクライアントとVPNゲートウェイの間にSSL-VPN接続を確立する方法について説明します。
CLIを開きます。
Homebrewがクライアントにインストールされていない場合は、次のコマンドを実行してHomebrewをインストールします。
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
次のコマンドを実行してOpenVPNをインストールします。
brew install openvpn
ダウンロードしたSSLクライアント証明書パッケージをコピーするステップ3をOpenVPNクライアントの構成ディレクトリに追加し、パッケージを解凍します。
のすべての設定ファイルをバックアップします。/usr/local/etc/openvpnフォルダーを作成します。
次のコマンドを実行して、OpenVPNの設定ファイルを削除します。
rm /usr/local/etc/openvpn/*
次のコマンドを実行して、ダウンロードSSLクライアント証明書パッケージをOpenVPNの構成ディレクトリにコピーします。
cp cert_location /usr/local/etc/openvpn/
上記のコマンドで、
cert_location
を、ステップ3でSSLクライアント証明書パッケージがダウンロードされたディレクトリに置き換えます。 例: /Users /Example /Downloads/certs6.zip
次のコマンドを実行して証明書を抽出します。
cd /usr/local/etc/openvpn/ unzip /usr/local/etc/openvpn/certs6.zip
次のコマンドを実行してVPN接続を確立します。
sudo /usr/local/opt/openvpn/sbin/openvpn --config /usr/local/etc/openvpn/config.ovpn
Androidを実行するクライアントを構成する
をダウンロードしてインストールします。Android用OpenVPNクライアント.
この例では、Android 9.0を実行するクライアントとバージョン3.0.5のOpenVPNクライアントが使用されています。
ダウンロードしたSSLクライアント証明書パッケージを転送するステップ3Androidを実行し、パッケージを解凍するクライアントに
説明Androidを実行するクライアントにパッケージを解凍するアプリケーションがない場合は、コンピュータで証明書を解凍してから、解凍したファイルをクライアントに転送できます。
解凍されたファイルが同じフォルダに属していることを確認します。 次の図に例を示します。
OpenVPNクライアントを開き、
config.ovpn
ファイルを作成し、SSL-VPN接続を追加します。いいえ
説明
1
[OVPNプロファイル] を選択します。
2
ストレージディレクトリで
config.ovpn
ファイルを見つけます。3
[IMPORT] をクリックして
config.ovpn
ファイルをインポートします。4
config.ovpn
ファイルから情報を読み取り、接続するVPN gatewayのパブリックIPアドレスを表示します。 [追加] をクリックしてSSL-VPN接続を追加します。スイッチをオンにしてSSL-VPN接続を確立します。
手順 5:ネットワーク接続のテスト
ネットワーク接続をテストするには、クライアントからVPC内のECSインスタンスにアクセスします。
よくある質問
macOSを実行するクライアントでOpenVPNを使用して接続を確立した後、SSL-VPN接続を閉じるにはどうすればよいですか?
macOSを実行するクライアントでCLIを開きます。
次のコマンドを実行してOpenVPNプロセスを検索し、プロセスIDを記録します。
ps aux | grep openvpn
次のコマンドを実行してOpenVPNプロセスを停止します。
kill -9 <Process number>
OpenVPNを使用して、M1チップを搭載したmacOSを実行するクライアントでSSL-VPN接続を確立するにはどうすればよいですか?
M1チップでmacOSを実行するクライアントを使用する場合は、Tunnelblickを使用してSSL-VPN接続を確立することを推奨します。 詳細については、このトピックの「Tunnelblickを使用してmacOSを実行するクライアントを構成する」をご参照ください。
OpenVPNを使用してクライアントでSSL-VPN接続を確立した後、Linuxを実行するクライアントでOpenVPNプロセスを自動的に開始できるようにするにはどうすればよいですか?
OpenVPNを使用してLinuxを実行するクライアントでSSL-VPN接続を確立した後、次の操作を実行して、クライアントの起動時にOpenVPNプロセスを自動的に起動できるようにします。
/etc/rc.localファイルを編集し、ファイルにコマンドを追加します。
# Open the /etc/rc.local file. vim /etc/rc.local # Press the I key to enter the insert mode, and add the following commands to the /etc/rc.local file: cd /etc/openvpn/conf/ openvpn --config /etc/openvpn/conf/config.ovpn --daemon # Press the ESC key to exit the insert mode, and run the following command to save and exit the file: :wq
/etc/rc.localファイルの実行権限を付与します。
chmod +x /etc/rc.local