ビジネスがクラウドにデプロイされていて、暗号化された接続を介してVPCにデプロイされたリソースにアクセスする場合は、SSL-VPNを使用できます。 オフィスオートメーションのシナリオでは、クライアントを使用して、SSL-VPN接続を介して内部のオフィスオートメーションシステムまたはファイルサーバーにアクセスできます。 このトピックでは、クライアントを使用してSSL-VPNを介してECSインスタンスにアクセスする方法を示します。
このトピックでは、Windows、Linux、Android、およびmacOSクライアントを構成する方法を紹介します。 クライアントとしてiPhoneを使用している場合は、「組み込みVPNソフトウェアを使用してiOSデバイスをVPNゲートウェイに接続する」をご参照ください。
シナリオ
次の図では、ECSインスタンスがデプロイされています。 VPC経由でローカルクライアントをECSインスタンスに接続します。 これを行うには、ECSインスタンスのVPCにVPNゲートウェイをデプロイします。
始める前に、サブネットを完了する必要があります。 この例では、次のサブネット計画を使用します。
VPC:
リージョン: 中国 (杭州)
CIDRブロック: 10.0.0.0/16
ゾーンJのvSwitch 1。CIDRブロック: 10.0.0.0/24
ゾーンK CIDRブロックのvSwitch 2: 10.0.1.0/24
ECSインスタンス: 10.0.0.1 OS: Alibaba Cloud Linux 3.2104 LTS 64ビット
クライアントCIDRブロック: 192.168.0.0/16
接続が作成されると、VPNゲートウェイはクライアントCIDRブロックからクライアントの仮想NICにIPアドレスを割り当てます。
リソースをオンデマンドでデプロイするには、次の条件が満たされていることを確認します。
ゾーン間の高可用性を確保するには、少なくとも2つのゾーンにvSwitchが存在する必要があります。 この条件が満たされない場合は、vSwitchを作成します。
クライアントCIDRブロックは、ローカルクライアントデバイスに関連付けられているvSwitch CIDRブロックまたはルートと重複してはなりません。
手順1: VPNゲートウェイの設定
クライアントをVPCに接続する前に、VPCにVPNゲートウェイをデプロイする必要があります。
VPNゲートウェイの作成
VPN Gatewayコンソールにログインします。 VPN Gatewayページで、[VPN Gatewayの作成] をクリックします。
VPN Gatewayページで、次のパラメーターを設定し、他のパラメーターのデフォルト設定を維持し、[今すぐ購入] をクリックして支払いを完了します。
名前: VPN gatewayの名前を入力します。 この例では、VPNゲートウェイ1に入ります。
リージョン: 中国 (杭州) を選択します。
ゲートウェイタイプ: 標準
VPC: クライアントが接続するVPCを選択します。
vSwitch 1: vSwitch 1を選択します。
vSwitch 2: vSwitch 2を選択します。
最大帯域幅: 5 Mbit/sを選択します。
トラフィック: デフォルトでは、VPNゲートウェイはデータ転送課金方式を使用します。 詳細については、「課金」をご参照ください。
IPsec-VPN: [無効にする] を選択します。
SSL-VPN: [有効化] を選択します。
SSL接続: 5を選択します。
期間: デフォルトでは、VPNゲートウェイは1時間ごとに課金されます。
サービスにリンクされたロール: [サービスにリンクされたロールの作成] をクリックします。 [作成済み] が表示されている場合、サービスにリンクされたロールが作成され、再度作成する必要はありません。
VPN Gatewayコンソールに戻ります。 VPNゲートウェイが作成されていることがわかります。
前の手順で作成したVPN gatewayは、準備中 状態です。 約1〜5分後、VPNゲートウェイは正常状態になります。 正常 状態は、VPNゲートウェイが使用できる状態であることを示します。
SSLサーバーの作成
SSLサーバーを使用して、クライアントによる特定のネットワークおよびリソースへのアクセスを許可または禁止できます。
左側のナビゲーションウィンドウで、
を選択します。 上部のナビゲーションバーで、中国 (杭州) リージョンを選択します。 SSL サーバー ページで、SSLサーバーの作成 をクリックします。SSLサーバーの作成 パネルで、次のパラメーターを設定し、他のパラメーターのデフォルト設定を維持して、[OK] をクリックします。
名前: SSLサーバー1を入力します。
VPN Gateway: 前の手順で作成したVPN Gateway 1を選択します。
ローカルネットワーク: VPCのCIDRブロックである10.0.0.0/16を入力します。
クライアントCIDRブロック: 192.168.0.0/16と入力します。
説明ローカルネットワーク: クライアントがSSL-VPNを介してアクセスする必要があるCIDRブロック。
クライアントCIDRブロック: クライアントの仮想NICに割り当てられたCIDRブロック。 クライアントのプライベートCIDRブロックとは異なります。 ローカルCIDRブロックと重複してはなりません。
SSLクライアントの作成と証明書のダウンロード
SSLクライアントは、クライアント証明書の管理に使用されます。 各クライアントは1つの証明書に対応します。 証明書は、クライアントのIDを検証し、データを暗号化するために使用されます。 最初に証明書をダウンロードし、証明書をクライアントにロードする必要があります。
左側のナビゲーションウィンドウで、
を選択します。 上部のナビゲーションバーで、中国 (杭州) リージョンを選択します。 SSL クライアント ページで、SSL クライアントの作成 をクリックします。[SSLクライアントの作成] パネルで、名前として
[SSLクライアント1]
を入力し、[SSLサーバー] を[SSLサーバー1]
に設定し、[OK] をクリックします。SSL クライアント ページで、作成したSSLクライアントを見つけ、[操作] 列の [証明書のダウンロード] をクリックします。
手順2: クライアントの設定
設定方法は、クライアントのOSによって異なります。
Windowsクライアント
OpenVPNクライアントfor Windowsをダウンロードしてインストールします。 ページにアクセスできない場合は、アカウントマネージャーまたはAlibaba Cloudエンジニアにお問い合わせください。
ダウンロードしたSSLクライアント証明書パッケージを解凍し、SSLクライアント証明書を
OpenVPN\config
ディレクトリにコピーします。この例では、証明書は
C:\Program Files\OpenVPN\config
にコピーされます。クライアントがインストールされているディレクトリに証明書をコピーする必要があります。デスクトップのOpenVPN GUIアイコンをダブルクリックして、クライアントを起動します。 右下のシステムトレイにVPNアイコンが表示されます。 システムトレイのVPNアイコンを右クリックし、[接続] をクリックしてSSL-VPN接続を作成します。
StateがConnectedを表示し、IPアドレスが割り当てられている場合、接続が作成されます。
Linuxクライアント
次のコマンドを実行してOpenVPNをインストールし、
conf
ディレクトリを作成します。CentOS
yum install -y openvpn mkdir -p /etc/openvpn/conf
Ubuntu
apt-get update apt-get install -y openvpn mkdir -p /etc/openvpn/conf
ダウンロードしたSSLクライアント証明書パッケージを解凍し、SSLクライアント証明書を/etc/openvpn/conf /ディレクトリに移動します。
/etc/openvpn/conf/ ディレクトリに移動し、次のコマンドを実行してSSL-VPN接続を確立します。
openvpn --config /etc/openvpn/conf/config.ovpn --daemon
Androidクライアント
をダウンロードしてインストールします。Android用OpenVPNクライアント. ページにアクセスできない場合は、アカウントマネージャーまたはAlibaba Cloudエンジニアにお問い合わせください。
この例では、Android 9.0を実行するクライアントとバージョン3.0.5のOpenVPNクライアントが使用されています。
SSLクライアント証明書パッケージをAndroidクライアントに転送し、パッケージを解凍します。
説明Androidクライアントにパッケージを解凍するアプリケーションがない場合は、コンピューターで証明書を解凍してから、解凍したファイルをクライアントに転送できます。
解凍されたファイルが同じフォルダに属していることを確認します。 次の図に例を示します。
OpenVPNクライアントを開き、
config.ovpn
ファイルを作成し、SSL-VPN接続を追加します。ステップ
説明
①
[OVPNプロファイル] を選択します。
2
ディレクトリで
config.ovpn
ファイルを見つけます。3
[IMPORT] をクリックして
config.ovpn
ファイルをインポートします。4
config.ovpn
ファイルから情報を読み取り、接続するVPN gatewayのパブリックIPアドレスを表示します。 [追加] をクリックしてSSL-VPN接続を追加します。スイッチをオンにしてSSL-VPN接続を確立します。
macOSクライアント (GUI)
に移動します。Go to theTunnelblickリリースページ, 検索
Tunnelblick 4.0.1 (ビルド5971)
でファイルをダウンロードし、. dmg
アセットパネルの形式。 ページにアクセスできない場合は、アカウントマネージャーまたはAlibaba Cloudエンジニアにお問い合わせください。Tunnelblickをインストールします。
ステップ
説明
①
ダウンロードしたTunnelblickインストールパッケージをダブルクリックします。
2
Tunnelblickアイコンをダブルクリックします。
3
[設定ファイルがあります] を選択します。
4
[OK] をクリックします。
SSLクライアント証明書パッケージを解凍します。 ドラッグ&ドロップ
config.ovpn
ファイルを構成パネルにSSL-VPN接続を作成します。
ステップ | 説明 |
① | TunnelblickアイコンをダブルクリックしてTunnelblickを開きます。 |
2 | 抽出した |
3 | [自分のみ] を選択します。 |
4 | [接続] をクリックします。 |
macOSクライアント (CLI)
ターミナルプロンプトを開きます。 Homebrewがクライアントにインストールされていない場合は、次のコマンドを実行してHomebrewをインストールします。
説明Homebrewインストールスクリプトにはsudoコマンドが含まれています。 したがって、システムは管理者パスワードの入力を促します。 "Press RETURN/ENTER to continue..." がプロンプト表示されたら、Enterキーを押します。
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
OpenVPNをインストールします。
brew install openvpn
ダウンロードしたSSLクライアント証明書パッケージをOpenVPNクライアントの構成ディレクトリにコピーします。
をバックアップする/opt/homebrew/etc/openvpnディレクトリに移動します。
cp -r /opt/homebrew/etc/openvpn /opt/homebrew/etc/openvpn_bak
次のコマンドを実行して、OpenVPNの現在の設定ファイルを削除します。
rm /opt/homebrew/etc/openvpn/*
次のコマンドを実行して、ダウンロードSSLクライアント証明書パッケージをOpenVPNの構成ディレクトリにコピーします。
cp /path/to/certs.zip /opt/homebrew/etc/openvpn/
説明/path/to/certs.zip
は、SSLクライアントの作成時にダウンロードされたSSLクライアント証明書パッケージのパスです。 ほとんどの場合、パッケージは/Users/example/Downloads/certs.zip
などのユーザーダウンロードディレクトリにあります。
次のコマンドを実行して、証明書パッケージを解凍します。
cd /opt/homebrew/etc/openvpn/ unzip /opt/homebrew/etc/openvpn/certs.zip
モードを選択します。
前景で走る
次のコマンドを実行して、クライアントプロセスを起動し、SSL-VPN接続を作成します。
sudo /opt/homebrew/opt/openvpn/sbin/openvpn --config /opt/homebrew/etc/openvpn/config.ovpn
コマンドはフォアグラウンドで実行されます。 接続を閉じるには、Ctrl + Cを押してコマンドを終了します。
バックグラウンドで実行する
次のコマンドを実行して、VPNクライアントプロセスをバックグラウンドでサービスとして実行し、起動時に自動的に起動します。
cp config.ovpn openvpn.conf sudo brew services start openvpn
プロセスを停止するには、次のコマンドを実行します。
sudo brew services stop openvpn
ステップ3: 接続の確認
開始する前に、ECSインスタンスのセキュリティグループルールがICMPメッセージを許可していることを確認してください。 詳細については、「セキュリティグループルールの表示とセキュリティグループルールの追加」をご参照ください。
クライアントからECSインスタンスのIPアドレスをPingします。
ping 10.0.0.1
pingが成功した場合、クライアントはECSインスタンスに接続されています。
よくある質問
このセクションでは、よくある質問に対する回答を示します。 詳細については、「SSL-VPN接続に関するFAQ」をご参照ください。
クライアントがSSL-VPN接続を作成できないのはなぜですか?
クライアントがインターネットに接続されていることを確認してください。
証明書が読み込まれていることを確認します。
クライアントがECSインスタンスに接続されているが、pingパケットがECSインスタンスに到達できない場合はどうすればよいですか。
ECSインスタンスのセキュリティグループがICMPパケットを許可していることを確認します。 詳細については、「セキュリティグループルールの照会」および「セキュリティグループルールの追加」をご参照ください。
クライアントからのpingパケットがECSインスタンスに到達できるが、クライアントがECSポートにアクセスできない場合はどうすればよいですか。
リスナーがECSサービスポートでリッスンしていることを確認します。 例としてLinuxのポート80を取り上げます。
ECSインスタンスのOSファイアウォールがポートを開いていることを確認します。 例としてiptablesのポート80を取ります。
iptables -I INPUT -p 80 -j ACCEPT
ECSインスタンスのセキュリティグループがポートを開いていることを確認します。 詳細については、「セキュリティグループルールの照会」および「セキュリティグループルールの追加」をご参照ください。
クライアントからのpingパケットがECSインスタンスに到達できるが、ECSインスタンスからクライアントへのpingが失敗した場合はどうすればよいですか。
ほとんどの場合、クライアントのOSファイアウォールはpingパケットをブロックします。 pingパケットを許可するようにファイアウォールを設定します。
LinuxまたはmacOSクライアントはどのようにしてSSL-VPN接続を閉じますか?
CLIを開き、次のコマンドを実行してOpenVPNプロセスを検索し、プロセスIDを記録します。
ps aux | grep openvpn
次のコマンドを実行してOpenVPNプロセスを停止します。
kill -9 <Process number>
OpenVPNを使用して、M1チップを搭載したmacOSクライアントでSSL-VPN接続を確立するにはどうすればよいですか?
macOSクライアント (GUI) を使用して接続を作成することを推奨します。
OpenVPNを使用してクライアントでSSL-VPN接続を確立した後、クライアントが起動したときに、Linuxクライアントで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