Azure VPN Gateway で NAT を試す!

VPN Gatewayとは、Azure上のネットワークとオンプレミス環境をVPN(IPsec)で接続するためのサービスです。このVPN接続を行うには、IPアドレスの重複が無い事が前提となり、重複する環境があると、VPNは利用できませんでした。
この問題を解決するために、VPN Gatewayに「NAT」機能が実装されましたので試したいと思います!

例えば下図のように、すべてのIPセグメントが重複した場合を想定してみます。

・内部:オンプレ/Azureで実利用しているIPセグメント
・外部:NAT用IPセグメント。内部/外部IPセグメントと重複してはいけない。

NATの適用は「接続」に紐付き「SNAT」で実施されます。
Azureを起点に設計されており、DNATの考えはありません。
・IngressSNAT:オンプレからAzure向けの送信元IPを変換する。逆向き時は、宛先を変換
・EgressSNAT:Azureからオンプレ向けの送信元IPを変換する。逆向き時は、宛先を変換
※オンプレ側のみ重複している場合は、IngressSNATのみでOK

[内部IPと外部IPの静的変換例]
10.0.0.4/16 = 172.16.0.4/16
10.0.1.10/16 = 172.16.1.10/16

【諸条件】

・VpnGw2/AZ以上のモデルで利用可能
・Active/Active , Active/Standby どちらでも利用可能
・S2Sのみで利用可能 ※P2S、V2Vでは利用不可
・NAT規則は100個まで ※IngressSNAT+EgressSNATの合計
・NAT64には未対応


全体の流れ

Step1:仮想ネットワークゲートウェイの作成
Step2:ローカルネットワーク ゲートウェイの作成
Step3:NAT規則の設定
Step4:接続の作成

※上図と同じ構成を作成していきます。


Step1:仮想ネットワークゲートウェイの作成
Step2:ローカルネットワーク ゲートウェイの作成

Azure VPN Gateway S2S の作成」参照下さい。

※ローカルネットワーク ゲートウェイのアドレス空間には、内部アドレスを記載


Step3:NAT規則の設定

BGPルート変換を有効にします:VPN GatewayでBGPを利用している場合は[有効化]

名前:表示名
種類
ー静的:双方向通信 ※内部と外部のサブネットマスクが同じ場合は、1対1通信となる
ー動的:送信のみ ※内部より、外部のマスクが小さい場合。NAPT,IPマスカレード,PAT
IP構成ID:NATを適用するVPN Gatewayを選択する。default=A/S,ActiveActive=A/A
モード
ーIngressSNAT:オンプレからAzure向けの送信元IPを変換する。
ーEgressSNAT:Azureからオンプレ向けの送信元IPを変換する。
内部マッピング:オンプレ/Azureで実利用しているIPセグメント
外部マッピング:NAT用IPセグメント。内部/外部IPセグメントと重複してはいけない。


Step4:接続の作成

イングレスNAT規則:Step3で作成した、NAT規則を適用します。
エグレスNAT規則:Step3で作成した、NAT規則を適用します。

複数のNAT規則を適用する際は「接続」から実施
※オンプレ側に複数のIPセグメントが存在する場合に必要


確認してみましょう!

Azure側のVMから確認すると、オンプレ向けのIPが設定した外部IPに置き換わって見える

各拠点間の通信は、外部IPをターゲットにすること