VPN をセキュア・プライベート・ネットワークへ
このチュートリアルでは、クラシック・インフラストラクチャー の使用方法について説明しています。 ほとんどのワークロードは、IBM Cloud® Virtual Private Cloud リソースを使用して実装できます。 IBM Cloud VPC を使用すると、共有のパブリック・クラウド・インフラストラクチャー上に、プライベート・クラウドのような独自のコンピューティング環境を作成できます。 VPC は、企業が、他のすべてのパブリック・クラウドのテナントから論理的に切り離された仮想ネットワークを定義および制御して、パブリック・クラウド上に安全でプライベートな場所を作れるようにするものです。 具体的には、Direct Link、仮想サーバー・インスタンス、セキュリティー・グループ、 VPN、サブネット、およびネットワーク ACL を定義できます。
このチュートリアルでは、費用が発生する場合があります。 コスト見積もりツールを使用して、予測使用量に基づいてコスト見積もりを生成します。
一般的な要件として、リモート・ネットワーク環境と IBM Cloud のプライベート・ネットワーク上のサーバーの間のプライベート接続を作成する必要があります。 通常、この接続では、IBM Cloud 上のシステムのハイブリッド・ワークロード、データ転送、プライベート・ワークロード、または管理がサポートされます。 サイト間仮想プライベート・ネットワーク (VPN) トンネルは、ネットワーク間の接続を保護するための一般的なアプローチです。
IBM Cloud では、パブリック・インターネット上の VPN を使用するか、またはプライベート専用ネットワーク接続を経由して、サイト間のデータ・センター接続のオプションを多数提供しています。
参照 IBM Cloud® Direct Link IBM Cloud への専用セキュア・ネットワーク・リンクの詳細について。 パブリック・インターネット上の VPN には帯域幅が保証されない低コストのオプションがあります。
IBM Cloud 上のプロビジョン済みサーバーへのパブリック・インターネットを介した接続には、適した VPN オプションが 2 つあります。
このチュートリアルでは、クライアント・データ・センターのサブネットを IBM Cloud プライベート・ネットワーク上のセキュア・サブネットに接続するために、仮想ルーター・アプライアンス (VRA) を使用してサイト間 IPSec VPN をセットアップする方法を示します。
この例は、セキュア・プライベート・ネットワークを使用してワークロードを分離するチュートリアルに基づいて構築されています。 サイト間 IPSec VPN、GRE トンネル、および静的ルーティングを使用します。 動的ルーティング (BGP など) と VTI トンネルを使用する、より複雑な VPN 構成は、VRA 補足資料で参照できます。
目標
- IPSec VPN の構成パラメーターの文書化
- 仮想ルーター・アプライアンス上の IPSec VPN の構成
- GRE トンネル経由のトラフィックのルーティング
{: caption="図
- VPN 構成の文書化
- VRA 上の IPSec VPN の作成
- データ・センターの VPN とトンネルの構成
- GRE トンネルの作成
- 静的 IP 経路の作成
- ファイアウォールの構成
開始前に
このチュートリアルでは、セキュア・プライベート・ネットワークを使用してワークロードを分離するチュートリアルのセキュア・プライベート・エンクロージャーをデータ・センターに接続します。 そのチュートリアルを先に完了する必要があります。
VPN 構成の文書化
データ・センターと IBM Cloud の間に IPSec VPN サイト間リンクを構成するには、多くの構成パラメーター、トンネルのタイプ、および IP ルーティング情報の決定について、オンサイトのネットワーキング・チームと調整する必要があります。 VPN 接続が動作するには、パラメーターが正確に対応している必要があります。 通常は、オンサイトのネットワーキング・チームが合意された企業標準に合わせて構成を指定し、データ・センターの VPN ゲートウェイの必須 IP アドレスおよびアクセス可能なサブネット・アドレス範囲を提供します。
VPN のセットアップを開始する前に、VPN ゲートウェイの IP アドレスと IP ネットワーク・サブネット範囲を決定し、データ・センターの VPN 構成および IBM Cloud のセキュア・プライベート・ネットワーク・エンクロージャーで使用できるようにする必要があります。 これらを以下の図に示します。セキュア・エンクロージャーの APP ゾーンは、IPSec トンネル経由でクライアント・データ・センターの「DC IP サブネット」内のシステムに接続されます。

VPN を構成する IBM Cloud ユーザーとクライアント・データ・センターのネットワーキング・チームの間で以下のパラメーターについて合意し、文書化する必要があります。 この例では、リモート・トンネルとローカル・トンネルの IP アドレスはそれぞれ 192.168.10.1 と 192.168.10.2 に設定されています。 オンサイトのネットワーキング・チームの同意があれば、任意のサブネットを使用できます。
項目 | 説明 |
---|---|
< ike グループ名> | IKE グループに付けられた接続用の名前。 |
< ike 暗号化> | IBM Cloud とクライアント・データ・センターの間で使用することが合意された IKE 暗号化標準で、通常は aes256。 |
< IKE ハッシュ> | IBM Cloud とクライアント・データ・センターの間で合意された IKE ハッシュで、通常は sha1。 |
< ike-lifetime> | クライアント・データ・センターからの IKE 存続期間で、通常は 3600。 |
< esp グループ名> | ESP グループに付けられた接続用の名前。 |
< ESP 暗号化> | IBM Cloud とクライアント・データ・センターの間で合意された ESP 暗号化標準で、通常は aes256。 |
< esp ハッシュ> | IBM Cloud とクライアント・データ・センターの間で合意された ESP ハッシュで、通常は sha1。 |
< スパン存続時間> | クライアント・データ・センターからの ESP 存続期間で、通常は 1800。 |
< DC VPN パブリック IP> | クライアント・データ・センターの VPN ゲートウェイのインターネットに接続するパブリック IP アドレス。 |
< VRA パブリック IP> | VRA のパブリック IP アドレス。 |
< リモート・トンネル IP/24> | IPSec トンネルのリモート・エンドに割り当てられた IP アドレス。 IP クラウドまたはクライアント・データ・センターと競合しない範囲内の IP アドレスのペア。 |
< ローカル・トンネル IP/24> | IPSec トンネルのローカル・エンドに割り当てられた IP アドレス。 |
< DC サブネット /CIDR> | クライアント・データ・センターおよび CIDR でアクセスされるサブネットの IP アドレス。 |
< アプリ・ゾーン・サブネット /CIDR> | VRA 作成チュートリアルからの APP ゾーン・サブネットのネットワーク IP アドレスおよび CIDR。 |
< 共有秘密鍵> | IBM Cloud とクライアント・データ・センターの間で使用される共有暗号鍵。 |
VRA 上の IPSec VPN の構成
IBM Cloudで VPN を作成するために、変更する必要があるコマンドとすべての変数が <> で強調表示されています。 変更する必要がある行ごとに、行ごとに変更が識別されます。 値は表から 取得されます。
- SSH で VRA に接続し、
[edit]
モードに入ります。SSH vyatta@<VRA Private IP Address> configure
- Internet Key Exchange (IKE) グループを作成します。
set security vpn ipsec ike-group <ike group name> proposal 1 set security vpn ipsec ike-group <ike group name> proposal 1 encryption <ike encryption> set security vpn ipsec ike-group <ike group name> proposal 1 hash <ike hash> set security vpn ipsec ike-group <ike group name> proposal 1 dh-group 2 set security vpn ipsec ike-group <ike group name> lifetime <ike-lifetime>
- カプセル化セキュリティー・ペイロード (ESP) グループを作成します。
set security vpn ipsec esp-group <esp group name> proposal 1 encryption <esp encryption> set security vpn ipsec esp-group <esp group name> proposal 1 hash <esp hash> set security vpn ipsec esp-group <esp group name> lifetime <esp-lifetime> set security vpn ipsec esp-group <esp group name> mode tunnel set security vpn ipsec esp-group <esp group name> pfs enable
- サイト間接続を定義します。
set security vpn ipsec site-to-site peer <DC VPN Public IP> authentication mode pre-shared-secret set security vpn ipsec site-to-site peer <DC VPN Public IP> authentication pre-shared-secret <Shared-Secret> set security vpn ipsec site-to-site peer <DC VPN Public IP> connection-type initiate set security vpn ipsec site-to-site peer <DC VPN Public IP> ike-group <ike group name> set security vpn ipsec site-to-site peer <DC VPN Public IP> local-address <VRA Public IP> set security vpn ipsec site-to-site peer <DC VPN Public IP> default-esp-group <esp group name> set security vpn ipsec site-to-site peer <DC VPN Public IP> tunnel 1 set security vpn ipsec site-to-site peer <DC VPN Public IP> tunnel 1 protocol gre commit
データ・センターの VPN とトンネルの構成
- クライアント・データ・センターのネットワーク・チームは、< DC VPN パブリック IP> および < VRA パブリック IP> スワップ、ローカル・トンネル・アドレスとリモート・トンネル・アドレス、および < DC サブネット /CIDR> パラメーターと < アプリ・ゾーン・サブネット /CIDR> パラメーターをスワップして、同一の IPSec VPN 接続を構成します。 クライアント・データ・センターの特定の構成コマンドは、VPN のベンダーによって異なります。
- 次に進む前に、DC VPN ゲートウェイのパブリック IP アドレスにインターネットを介してアクセス可能であることを確認します。
ping <DC VPN Public IP>
- データ・センターの VPN 構成が完了すると、IPSec リンクが自動的に確立されます。 リンクが確立され、ステータスが 1 つ以上のアクティブ IPsec トンネルの存在を示していることを確認します。 データ・センターで VPN の両端がアクティブ IPsec トンネルを示していることを確認します。
show vpn ipsec sa show vpn ipsec status
- リンクが作成されていない場合は、デバッグ・コマンドを使用して、ローカル・アドレスとリモート・アドレスが正しく指定され、他のパラメーターが期待どおりであることを確認します。
show vpn debug
出力に、peer-<DC VPN Public IP>-tunnel-1: ESTABLISHED 5 seconds ago, <VRA Public IP>[500].......
という行が表示されます。 この行が存在しない場合、または「CONNECTING」が表示される場合は、VPN 構成にエラーがあります。
GRE トンネルの定義
- VRA 編集モードで GRE トンネルを作成します。
set interfaces tunnel tun0 address <Local tunnel IP/24> set interfaces tunnel tun0 encapsulation gre set interfaces tunnel tun0 mtu 1300 set interfaces tunnel tun0 local-ip <VRA Public IP> set interfaces tunnel tun0 remote-ip <DC VPN Public IP> commit
- トンネルの両端が構成されると、トンネルは自動的に確立されます。 VRA コマンド・ラインからトンネルの動作状態を確認します。
最初のコマンドは、トンネルの状態とリンクがshow interfaces tunnel show interfaces tun0
u/u
(UP/UP) であることを示します。 2 番目のコマンドは、トンネルに関する詳細とトラフィックが送受信されていることを示します。 - トラフィックがトンネルを通過することを確認します。
ping <Remote tunnel IP>
show interfaces tunnel tun0
の TX と RX のカウントは、ping
トラフィックがある間は増加を示します。 - トラフィックが流れていない場合は、
monitor interface
コマンドを使用して、各インターフェース上で見られるトラフィックを監視できます。 インターフェースtun0
は、トンネル上の内部トラフィックを示します。 インターフェースdp0bond1
は、リモート VPN ゲートウェイとの間のカプセル化されたトラフィック・フローを示します。monitor interface tunnel tun0 traffic monitor interface bonding dp0bond1 traffic
戻りのトラフィックがない場合は、データ・センターのネットワーキング・チームがリモート・サイトの VPN およびトンネル・インターフェースにおけるトラフィック・フローをモニターして、問題を特定する必要があります。
静的 IP 経路の作成
トラフィックをトンネル経由でリモート・サブネットに送信する VRA ルーティングを作成します。
- VRA 編集モードで静的ルートを作成します。
set protocols static route <DC Subnet/CIDR> next-hop <Remote tunnel IP>
- VRA コマンド・ラインで VRA ルーティング・テーブルを確認します。 現時点では、トンネル経由のトラフィックを許可するファイアウォール・ルールが存在しないため、トラフィックは経路を横断しません。 ファイアウォール・ルールは、いずれの側で開始されたトラフィックに対しても必要になります。
show ip route
ファイアウォールの構成
- 許可された icmp トラフィックと tcp ポートのリソース・グループを作成します。
set res group icmp-group icmpgrp type 8 set res group icmp-group icmpgrp type 11 set res group icmp-group icmpgrp type 3 set res group port tcpports port 22 set res group port tcpports port 80 set res group port tcpports port 443 commit
- VRA 編集モードで、リモート・サブネットへのトラフィックのファイアウォール・ルールを作成します。
set security firewall name APP-TO-TUNNEL default-action drop set security firewall name APP-TO-TUNNEL default-log set security firewall name APP-TO-TUNNEL rule 100 action accept set security firewall name APP-TO-TUNNEL rule 100 protocol tcp set security firewall name APP-TO-TUNNEL rule 100 destination port tcpports set security firewall name APP-TO-TUNNEL rule 200 protocol icmp set security firewall name APP-TO-TUNNEL rule 200 icmp group icmpgrp set security firewall name APP-TO-TUNNEL rule 200 action accept commit
set security firewall name TUNNEL-TO-APP default-action drop set security firewall name TUNNEL-TO-APP default-log set security firewall name TUNNEL-TO-APP rule 100 action accept set security firewall name TUNNEL-TO-APP rule 100 protocol tcp set security firewall name TUNNEL-TO-APP rule 100 destination port tcpports set security firewall name TUNNEL-TO-APP rule 200 protocol icmp set security firewall name TUNNEL-TO-APP rule 200 icmp group icmpgrp set security firewall name TUNNEL-TO-APP rule 200 action accept commit
- トンネルのゾーンを作成し、いずれかのゾーンで開始されたトラフィックのファイアウォールを関連付けます。
set security zone-policy zone TUNNEL description "GRE Tunnel" set security zone-policy zone TUNNEL default-action drop set security zone-policy zone TUNNEL interface tun0 set security zone-policy zone TUNNEL to APP firewall TUNNEL-TO-APP set security zone-policy zone APP to TUNNEL firewall APP-TO-TUNNEL commit
- 両端のファイアウォールとルーティングが正しく構成され、ICMP トラフィックと TCP トラフィックを許可していることを確認するには、まず VRA コマンド・ラインからリモート・サブネットのゲートウェイ・アドレスを ping します。成功した場合は VSI にログインします。
ping <Remote Subnet Gateway IP> ssh root@<VSI Private IP> ping <Remote Subnet Gateway IP>
- VRA コマンド・ラインからの ping が失敗した場合は、トンネル・インターフェースに対する ping 要求への ping 応答があることを確認します。
無応答の場合は、データ・センターのファイアウォール・ルールまたはルーティングに問題があります。 モニター出力に応答が表示されるが、ping コマンドがタイムアウトする場合は、ローカル VRA ファイアウォール・ルールの構成を確認します。monitor interface tunnel tun0 traffic
- VSI からの ping が失敗した場合は、VRA ファイアウォール・ルール、VRA 構成のルーティング、または VSI 構成のルーティングに問題があります。 前のステップを完了して、要求がデータ・センターに送信され、データ・センターから応答があることを確認します。 ローカル VLAN 上のトラフィックをモニターし、ファイアウォール・ログを調べると、問題をルーティングまたはファイアウォールに切り分けるのに役立ちます。
monitor interfaces bonding dp0bond0.<VLAN ID> show log firewall name APP-TO-TUNNEL show log firewall name TUNNEL-TO-APP
これで、セキュア・プライベート・ネットワーク・エンクロージャーからの VPN のセットアップは完了です。 このシリーズの他のチュートリアルで、エンクロージャーからパブリック・インターネット上のサービスにアクセスする方法を示します。
リソースを削除する
このチュートリアルで作成したリソースを削除する手順は以下のとおりです。
VRA は月額料金プランで提供されます。 取り消しても払い戻しはありません。 取り消しは、この VRA が翌月に再び必要とならない場合にのみ行うことをお勧めします。 デュアル VRA 高可用性クラスターが必要な場合は、この単一の VRA を「ゲートウェイの詳細 (Gateway Details)」ページでアップグレードできます。
- 仮想サーバーまたはベアメタル・サーバーをすべて取り消します
- VRA を取り消します
- 追加の VLAN をすべて取り消します