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をターゲットにすること