【Paloalto×Azure】NAT設定に複数のIPを構成できるか試してみた

Paloalto Paloalto

Azure上に構築したpaloaltoにおいて、[paloaltoにおけるインターネット側に面したインターフェース]に対応する仮想マシンのNICがNATされるときのインターフェースとして利用されます。

このとき、Azure上でパブリックIPを複数付与することで、paloaltoが複数のNATを構成することができるのかについて検証してみました

paloalto内ではNATポリシーやインターフェースなどの設定を投入していくことになりますが、その際の設定値についてもどのようになるのか調べてみました。

広告

検証した構成

今回利用する構成は、以下の以前の記事で作成した環境に、インターネット側のインターフェースに対応するNICにパブリックIPを追加した構成です。

【Paloalto×Azure】送信元IPが固定されるかどうか検証してみた
Azure上に構築したpaloaltoでインターネットに出ていく際に利用するインターフェースにパブリックIPを明示的に付与しない場合に、Azureからインターネットに出ていくときの送信元IPがどうなるのかを検証してみました。逆にパブリックIPを付与した場合についてもどうなるのかの挙動を調べてみました。

図として表すと以下の通りです。

Azure上でpaloaltoが複数の送信元IPとして扱うことができるのかについて検証したときの構成図

NATされたIPの確認(=送信元のIP)の確認はIISサーバへのアクセスログで確認していきます。

[検証] パブリックIPを複数付与して複数のNATを構成することができるのかを調べる

以下の流れで設定値の確認と疎通の確認を実施していきます。

1.eth1のNICにおけるAzure側の設定値を確認

paloaltoのeth1に対応する仮想マシンのNICにおいて、[ip構成]に対して2つ目のプライベートIPと2つ目のパブリックIPが追加されていることを確認します。

 ※今回の構成では、eth1はインターネット向けのインターフェースとして設定しています。

eth1のNICにおけるAzure側の設定値を確認

【1つ目のIP】プライベートIP:10.0.0.68、パブリックIP:52.253.104.17

【2つ目のIP】プライベートIP:10.0.0.69、パブリックIP:20.89.82.79

2.paloalto内の設定値を確認

Azure側で追加されたプライベートIPをインターフェース設定で追加してPAN-OSに認識させます。

paloalto内のインターフェース設定値を確認

NATポリシーも各テスト用仮想マシンごとに異なるパブリックIP(ここではパブリックIPに紐づくプライベートIP)を利用するように設定を入れます。

paloalto内のNATポリシー設定値を確認

3.テスト用仮想マシン1からwebサーバ(IIS)に通信・IISのログを確認

テスト用仮想マシンからブラウザでIISサーバにアクセスし、paloaltoのログも確認します。

paloaltoのログ確認(テスト用仮想マシン1)

IIS側のログも確認します。

IISのログ確認(テスト用仮想マシン1)

少し時間がずれていますが、52.253.104.17が送信元として確認でき、

【[172.16.0.4] は [10.0.0.68 (52.253.104.17)] でNATする】というNATポリシーで設定したルールがしっかりと適用されていることがわかります。

4.テスト用仮想マシン2からwebサーバ(IIS)に通信をする・IISのログを確認

同じように、テスト用仮想マシンからもブラウザでIISサーバにアクセスし、paloaltoのログも確認します。

paloaltoのログ確認(テスト用仮想マシン2)

IIS側のログも確認します。

IISのログ確認(テスト用仮想マシン2)

こちらでは、20.89.82.79が送信元として確認でき、

【[172.16.0.5] は [10.0.0.69 (20.89.82.79)] でNATする】というNATポリシーで設定したルールがしっかりと適用されていることがわかります。

結果のまとめ

今回試した内容から、
Azure上に構築したpaloaltoにおいて、インターネット側のインターフェースが複数の送信元IPを持つことができる
といったことがわかりました。

[追加検証] サブインターフェースを利用した構成について

サブインターフェースを利用して今回のインターネット側のインターフェースが複数の送信元IPを持つという構成ができないか?についても検証をしてみましたが、

サブインターフェースだけにIPを設定した構成では、テスト用仮想マシンからインターネットに対して通信ができませんでした

正確には、以下の設定を入れたときに、最初は正常に通信が成立して通信ができるように見えるのですが、30分ほど時間がたつと通信ができなくなりました。

◆インターフェース設定(サブインターフェースだけにIPを設定した構成:通信NG

インターフェース設定(サブインターフェースだけにIPを設定した構成)

◆NATポリシー設定(サブインターフェースだけにIPを設定した構成:通信NG

NATポリシー設定(サブインターフェースだけにIPを設定した構成)

補足ですが、サブインターフェースに仮想ルーターとゾーンの設定を入れると通信ができなかったので、上記設定では仮想ルーターとゾーンの設定は[none]として設定しています。

その後もいろんなパターンを試した結果、

ethernet1/1に1つ目のIPを紐づけ、そのサブインターフェースに2つ目以降のIPを紐づける構成ではテスト用仮想マシンからインターネットに対して通信が可能でした。

その時の設定値も載せておきます。

◆インターフェース設定(1つ目のパブリックIPはethernet1/1を利用した場合:通信OK

インターフェース設定(1つ目のパブリックIPはethernet1/1を利用した場合)

◆NATポリシー設定(1つ目のパブリックIPはethernet1/1を利用した場合:通信OK

NATポリシー設定(1つ目のパブリックIPはethernet1/1を利用した場合)

この構成の場合にはNATポリシーで明示的なIPアドレスを指定しなくても通信が可能でした。

また、こちらの構成でもサブインターフェースの仮想ルーターとゾーンの設定は[none]としています。

さいごに

この検証を試す前まで「インターネット側のインターフェースが複数の送信元IPを持つことはできない」と思っていたので今回の結果には少し驚きました。

サブインターフェースを利用する場合の構成では「理由はよくわからないけれどもうまく通信はできている」といった構成を見つけることができましたが、少しもやもやが残る結果となりました。

今回は2つのIP付与を試しましたがさらに多くのパブリックIPを付与できるのかについては別途機会があれば試してみたいと思います。

タイトルとURLをコピーしました