🔥

VM > Azure Firewall > オンプレプロキシ のルーティング構成

2023/03/18に公開
2

本記事はこちらの続きといえば続きです

前々回: 強制トンネリング環境で一部通信をAzure Firewall経由で外に向ける構成について

https://zenn.dev/microsoft/articles/5ae86e212203ae

前回: GatewaySubnetに0.0.0.0/0のUDRを無理やりアタッチしてAzure上での強制トンネリングを実現する

https://zenn.dev/microsoft/articles/c3e62681fe0d23

背景

  • 前々回、前回からの拡張検証
    • 正確には前々回の構成からの拡張と思っていい
  • 前々回の構成により、PACファイルを利用することでオンプレプロキシ経由とAzure Firewall経由のトラフィックを分けることが可能であることを検証した
  • その際、VMからオンプレプロキシへのトラフィックは直接流れるような構成だった
  • 今回はオンプレ-Azureの間に必ずAzure Firewallが介在するパターンとして検証する

構成

  • 図の赤線の接続をしたい

変更点

ルートテーブル

  • Windows VMが属するサブネットのルートテーブルにオンプレミスアドレス空間 > Azure Firewallを追加
    • 0.0.0.0/0 > Azure Firewallのみの場合、BGPで広報されるオンプレアドレス空間はより具体的なアドレスであるためVM > オンプレは直接接続となってしまう
    • そのBGPの経路をAzure Firewallに向くようにUDRで上書きする必要がある
    • Azureのルートの優先度はUDR>BGP>システムルート
  • クラウド側GatewaySubnetにクラウドアドレス空間 > Azure Firewallを追加
    • 戻りの経路もAzure Firewallを経由させるため
    • これがないと非対称になるためICMPは通るがTCPが通らない状態となる
      • ハマりポイント
  • AzureFirewallSubnetのルート伝達を有効化
    • Azure Firewallがパケットをオンプレにフォワードする必要がある
    • 前々回の構成だとルート伝達がOFFになっていた

ネットワークポリシー

  • Azure Firewallのネットワークルールを追加
    • オンプレ-クラウド間の通信がAzure Firewall経由となるためネットワークルールによる許可が必要
    • 戻りの通信についてはステートフルなので記述不要

疎通確認

  • 上記変更を加えた上でのアクセスができるかどうか確認

VM > Azure Firewall > Internet

  • プロキシ除外によってreturn DIRECTとなっているものはAzure FirewallからInternetに抜けていくはず
  • 今回はこのようなPACファイルを利用しているため確認君+(https://env.b4iine.net/)にアクセスしてIPを確認
function FindProxyForURL(url, host) {
    if (isPlainHostName(host) || dnsDomainIs(host, ".b4iine.net")) {
        return "DIRECT";
    } else {
        return "PROXY 10.100.1.4:3128";
    }
}
  • 確認君+
  • Azure FirewallのPIP

VM > Azure Firewall > Proxy > Internet

  • まずはプロキシサーバとのICMP/TCPによる疎通確認 > OK

  • クラウド側VMから確認君+以外の任意のサイトへアクセス > OK

    • IPもプロキシサーバのPIPになっている

備考

  • GatewaySubnet > Azure Firewallのルートテーブル作り忘れがち
    • Azure Firewall経由になると非対称のTCPコネクションが張れない
    • ICMPが通ってるのにTCP繋げない場合は大体これが原因
    • GatewaySubnetのルートテーブルを削除すると、Proxy経由でのアクセス不可になる事からも確認できる
  • GatewaySubnetとかAzureFirewallSubnetで見えているeffective Routeがどこかで見れるようになればもっとトラシュー楽なのになぁと思ったり
GitHubで編集を提案
Microsoft (有志)

Discussion

yamapanyamapan

こちら大変たすかりました、ありがとうございます。