CJです。
VMC on AWS のIPsec-VPN接続シリーズとして、Azure編とAWS編 (両方 Policy-based)を紹介してきました。今回はシリーズの最終編として On-prem編の Route-basedを紹介させていただきたいと思います。では、いつもと同じく構成イメージ図からみて行きましょう。
構成イメージ図
オンプレ側のVPNおよびBGP設定は、pfSense (仮想アプライアンス・無償版)を利用してあります。
事前準備
今回もパラメーターシートを事前に用意しましょう。
VMC on AWS (SDDC) | On-prem (pfSense) | |
Public IPaddress | x.x.x.x | y.y.y.y |
Private Network | 10.69.99.0/24 | 192.168.0.0/24 |
VM IPaddress | 10.69.99.2 | WAN : 192.168.0.174 LAN : 10.3.3.1 #win2012R2 : 10.3.3.10 |
Encryption | AES 256 | AES 256 |
Diffie Hellman | DH14 | DH14 |
IKE version | IKEV2 | IKEV2 |
SHA version | SHA1 | SHA1 |
Pre-shared key | CJkey! | CJkey! |
Firewall Rules | All Traffic 許可 (※今回はテストのため) | All Traffic 許可 (※今回はテストのため) |
BGP ASN | 65000 | 65501 |
Transit Network | 169.254.111.2/30 | 169.254.111.1/30 |
設定の流れ
- On-prem:IPsecの設定
- On-prem:IPsec I/F Assignmentの設定
- On-prem:IPsec Firewallの設定
- On-prem:FRRパッケージのインストール
- On-prem:FRR Global・BGP・Neighbors設定
- On-prem:FRR BGP設定
- On-prem:FRR Neighbors設定
- On-prem:IPsec Connect設定
- VMC on AWS:Groupsの作成
- VMC on AWS:Gateway Firewall (Compute Gateway)の設定
- VMC on AWS:Route Based VPNの設定
※本記事において、pfSenseのインストールおよび詳細操作方法については、割愛させていただきます。
1.On-prem:IPsecの設定
IPsec Phase1 : 事前準備したパラメーターシートを参照し、以下の項目を設定します。
・Key Exchange version:IKEv2
・Remote Gateway:VMC on AWS側のグローバルIPアドレスを入力
・Pre-Shared Key:CJkey!
・Encryption Algorithm:AES | 256 bits | SHA1 | 14
IPsec Phase2 : 事前準備したパラメーターシートを参照し、以下の項目を設定します。
・Mode:Routed (VTI)
・Local Network:On-prem側のTransit Network情報を入力
・Remote Network:VMC on AWS側のTransit Network情報を入力
・Encryption Algorithms:AES | 256bits
・Hash Algorithms:SHA1
・PFS key group:14
2.On-prem:IPsec I/F Assignmentの設定
IPsec用のインタフェースを追加します。
追加した IPsec用のインタフェースを有効化します。その他の設定はデフォルトのままで結構です。
pfSenseのコンソール画面上では、以下のように追加したOPT1が表示されていることがわかります。
3.On-prem:IPsec Firewallの設定
IPsec用のFirewall設定を行います。
本環境ではテストのため、IPsecのFirewallを全て許可にしてありますが、セキュリティ観点から本番環境などでは適切に設定いただくことをおすすめします。
4.On-prem:FRRパッケージのインストール
後ほどのBGP設定を行うために、追加のパッケージを “Available Package”からインストールします。
OpenBGPDなどいくつかのパッケージがありますが、本環境では FRRをインストールしてあります。
5.On-prem:FRR Global・BGP・Neighbors設定
以下の通りに、FRRのGlobal設定を行います。
・Enable FRR:チェックインして、FRRを有効化します。
・Master Password:任意のパスワードを設定。本テストでは、Pre-Shared Keyと同一のパスワードにしてあります。
・Route ID:ローカルLANのIPアドレス情報を入力。
以下の通りに、FRRのBGP設定を行います。
・Enable BGP Routing:チェックインして、BGPを有効化します。
・Local AS:65501 (On-prem側のASN情報を入力)
・Router ID:上記、Global設定で入力した同じ情報(ローカルLANのIPアドレス)を入力。
以下の通りに、FRRのNeighbors設定を行います。
・Name/Address:VMC on AWS側のTransit Network情報を入力。
・Remote AS:65000 (VMC on AWS側のローカル ASN情報を入力)
・Update Source:OPT1 (IPsec用のインタフェースを設定)
ちなみに、Remote AS情報は以下の場所から確認できます。
6.On-prem:IPsec Connect設定
pfSense側の設定が完了したので、あとは “Connect” ボタンにて接続実施。
以下の画面は、すでに接続中のため “Disconnect” と表示されていますが、未接続中の場合は、同じ場所に “Connect VPN” ボタンが表示されます。
7.VMC on AWS:Groupsの作成
こちらは内容は、前回のAWS編と同じとなりますので、割愛させていただきます。
詳細は、AWS編の “8.VMC on AWS:Groupsの作成“をご参照ください。
8.VMC on AWS:Gateway Firewall (Compute Gateway)の設定
こちらの内容も、前回のAWS編と同じとなりますので、割愛させていただきます。
詳細は、AWS編の “9.VMC on AWS:Gateway Firewallの設定“をご参照ください。
※一つ注意点として Policy-based VPNの場合は Applied Toを “All Uplinks” にしましたが、Route-based VPNの場合は Applied Toを “VPN Tunnel Interface” にする必要があります。
9.VMC on AWS:Route Based VPNの設定
パラメーターシートを参照し、ルートベースのVPN設定を実施。
・ローカルIPアドレス:VMC on AWS 側の Public IPアドレス設定。
・リモートのパブリックIPアドレス:On-prem側のPublic IPアドレス設定。
・BGPローカルIPアドレス/プリフィックス長:VMC on AWS側の Transit Network情報をCIDR込みで入力。
・BGPリモートIPアドレス:On-prem側の Transit Network情報を設定。
・BGPリモートASN:上記、”5.On-prem:FRR Global・BGP・Neighbors設定”で設定した、On-prem側の Local ASN情報を設定。
・その他、トンネル詳細についてはパラメーターシートを参照して設定。
疎通確認 (完了)
これで設定が完了し、ルートベースのVPN接続ができている状態かと思います。
VMC on AWS側を確認すると、ステータスが稼働中となっていることがわかります。また、統計情報ではパケット受信状態 (ping 疎通状態)が、ルートの検索ではアドバタイズされたルートおよび学習済みルート情報が確認できます。
オンプレ側の “win2012R2″から、VMC on AWS側の “VM-01″へ疎通できることが確認できました。
いかがでしょうか。
Policy-based VPNと比べてもBGP周りの設定が少し加わるだけで、VMC on AWSのSDDC画面上はほとんど変ず、とても簡単に設定ができました。
ルートベースの VPN は、BGP プロトコル(標準 eBGP プロトコル)を使用して VPN トンネル全体にネットワークを動的に公開する機能を提供します。手動で静的なポリシーをベースとした VPN と比べて、導入がシンプルになルため、こちらのニーズが多そうな気がします。ぜひ、ルートベースもお試しください。
[参考情報]