【Paloalto】仮想ルータの概要とスタティックルート設定 PANOS 10.2.4

Palo Alto のファイアウォールは、ルーティングを「仮想ルータ」という単位で行います。この記事では、仮想ルータの考え方と構成の確認方法を整理したうえで、仮想ルータ「default」へのデフォルトルートの設定と、2つの仮想ルータを「次のVR」でつなぐスタティックルートの設定を、PAN-OS 10.2.4 の画面で順に確認します。

この記事でわかること
  1. 仮想ルータの役割と、ゾーンとの関係
  2. インタフェース側・仮想ルータ側からの所属の確認方法
  3. デフォルトルートの設定と、「次のVR」を使った仮想ルータ間のルーティング

仮想ルータとは何か?

仮想ルータは、Palo Alto の中に作る「仮想的な」ルータです。1台のファイアウォールの中に複数作ることができ、仮想ルータごとに独立したルーティングテーブルを持ちます。スタティックルートや OSPF・BGP などのルーティングプロトコルも、仮想ルータごとに設定します。

次の図は、Palo Alto の中に仮想ルータを複数作った構成です。各仮想ルータは、自分に割り当てられたインタフェースの間だけでルーティングします。

Palo Alto(1台)ゾーン0ゾーン1Eth0Eth1仮想ルータ(1)専用のルーティングテーブルゾーン2ゾーン3Eth2Eth3仮想ルータ(2)専用のルーティングテーブル仮想ルータ(n)必要な数だけ作成できる
図1 1台の Palo Alto の中で、仮想ルータごとにルーティングテーブルが分かれる
仮想ルータ担当する通信
仮想ルータ(1)Eth0(ゾーン0)と Eth1(ゾーン1)の間の通信を、仮想ルータ(1) のルーティングテーブルに従って転送します。
仮想ルータ(2)Eth2(ゾーン2)と Eth3(ゾーン3)の間の通信を、仮想ルータ(2) のルーティングテーブルに従って転送します。

仮想ルータどうしは互いの経路を持たないため、別の仮想ルータに属するインタフェースの間(例えば Eth0 と Eth3 の間)は、そのままでは通信できません。1台の機器の中でネットワークを分けておきたいときに、仮想ルータが役に立ちます。

ゾーンとの関係

レイヤー3のインタフェースは、仮想ルータとセキュリティゾーンの両方に所属させます。仮想ルータは「どこへ転送するか(ルーティング)」を決め、ゾーンは「通信を許可するか(セキュリティポリシー)」の単位になります。1つのインタフェースが所属できる仮想ルータは1つだけです。

仮想ルータ構成の確認方法

Palo Alto には、初期状態で「default」という名前の仮想ルータがあります。仮想ルータを分ける要件がなければ、この default をそのまま使うことが多く、次のような構成が一般的です。

Palo AltoTrustゾーンUntrustゾーンethernet1/2ethernet1/1仮想ルータ default
図2 仮想ルータ default だけを使う一般的な構成

インタフェース側から確認する

インタフェースがどの仮想ルータとゾーンに所属しているかは、NETWORK ›› インターフェイス ›› Ethernet で確認できます。一覧の「仮想ルーター」列に所属先が表示されます。

画面イメージについて

この記事の画面は、実際の画面ではなく、検証時の画面から設定する項目(見るポイント)を抜き出して描いたイメージです。バージョンによって、項目の並びや表記は変わります。

PA-VM 管理画面画面イメージ
NETWORK ›› インターフェイス ›› Ethernet
インターフェイスタイプリンク状態IP アドレス仮想ルータータグ
1ethernet1/1Layer3192.168.20.120/242defaultUntagged
ethernet1/2Layer3Dynamic-DHCP ClientdefaultUntagged
ethernet1/3nonenoneUntagged
ethernet1/4nonenoneUntagged
図3 Ethernet インタフェースの一覧(実際の画面ではなく、表示のポイントを示したイメージです)
No.表示意味
1ethernet1/1インタフェース名のリンクを開くと、設定画面が表示されます。リンク状態の緑はリンクが上がっていること、グレーは上がっていないことを表します。
2仮想ルーターインタフェースが所属している仮想ルータです。ethernet1/1 と ethernet1/2 は default に所属しています。

ethernet1/1 を開き、「設定」タブを見ると、所属している仮想ルータとセキュリティゾーンが表示されます。所属先を変えるときも、この画面で設定します。

Ethernet インターフェイス画面イメージ
インターフェイス名ethernet1/1
インターフェイスタイプレイヤー 3
⋮ (中略)
設定 タブ ›› インターフェイスの割り当て先
1仮想ルーターdefault
2セキュリティゾーンUntrust
OKキャンセル
図4 ethernet1/1 の所属先(実際の画面ではなく、確認する項目のポイントを示したイメージです)
No.項目設定内容
1仮想ルーターdefault。ルーティングに使う仮想ルータです。
2セキュリティゾーンUntrust。セキュリティポリシーで使うゾーンです。

仮想ルータ側から確認する

反対に、仮想ルータから見て、どのインタフェースが所属しているかも確認できます。NETWORK ›› 仮想ルーター を開くと仮想ルータの一覧が表示されるので、default をクリックします。

PA-VM 管理画面画面イメージ
NETWORK ›› 仮想ルーター
名前インターフェイス設定
1defaultethernet1/1
ethernet1/2
ECMP の状態: 無効
図5 仮想ルータの一覧(実際の画面ではなく、表示のポイントを示したイメージです)

「Router Settings」の「全般」タブに、所属しているインタフェースが表示されます。インタフェースの追加と削除も、この画面で行います。右側の「管理距離」は、同じ宛先への経路が複数の方法(スタティック、OSPF、BGP など)で得られたときに、どれを優先するかを決める値で、小さいほど優先されます。

仮想ルーター – default画面イメージ
Router Settings ›› 全般
名前default
1インターフェイスインターフェイスethernet1/1
ethernet1/2
2管理距離
スタティック10OSPF 内部30OSPFv3 内部30
スタティック IPv610OSPF 外部110OSPFv3 外部110
IBGP200EBGP20RIP120
OKキャンセル
図6 仮想ルータ default の全般タブ(実際の画面ではなく、確認する項目のポイントを示したイメージです)
No.項目内容
1インターフェイスこの仮想ルータに所属しているインタフェースです。ここでは ethernet1/1 と ethernet1/2 です。
2管理距離経路の種類ごとの既定値です。スタティックルートは 10 で、スタティックルート側で個別に指定しなければこの値が使われます。

スタティックルート設定

仮想ルータにスタティックルートを設定する手順を確認します。ここでは、仮想ルータ default にデフォルトルートを設定します。

デフォルトルートを追加する

NETWORK ›› 仮想ルーター で default をクリックし、左のメニューから スタティックルート ›› IPv4 を開いて「追加」をクリックします。表示された画面で、スタティックルートを設定します。

仮想ルーター – スタティックルート – IPv4画面イメージ
1名前default_route
2宛先0.0.0.0/0
3インターフェイスethernet1/1
4ネクストホップIP アドレス 192.168.20.1
管理距離10 – 240
メトリック10
ルートテーブルユニキャスト
BFD プロファイルDisable BFD
パスモニタリング☐
5OKキャンセル
図7 デフォルトルートの設定(実際の画面ではなく、設定項目のポイントを示したイメージです)
No.項目設定内容
1名前任意の名前です。ここでは default_route とします。
2宛先宛先のネットワークを CIDR 形式で入れます。デフォルトルートなので 0.0.0.0/0 です。
3インターフェイスパケットを出すインタフェースです。ここでは ethernet1/1 です。
4ネクストホップ「IP アドレス」を選び、次の転送先のアドレス 192.168.20.1 を入れます。
5OK入力したら OK をクリックします。

そのほかの項目は、特別な要件がなければ既定値のままにします。管理距離を空欄にすると、仮想ルータの既定値(スタティックは 10)が使われます。

種類使いどころ
IP アドレス次の転送先のルータのアドレスを指定します。今回のデフォルトルートはこれです。
次の VR同じファイアウォールの中の別の仮想ルータを転送先にします。後半の仮想ルータ間のルーティングで使います。
FQDN転送先を FQDN で指定します。
Discardこの宛先へのパケットを捨てます。
Noneネクストホップを指定しません。

設定すると、一覧に次のように登録されます。

仮想ルーター – default ›› スタティックルート ›› IPv4画面イメージ
名前宛先インター
フェイス
タイプ値管理
距離
メト
リック
BFDルート
テーブル
default_route0.0.0.0/0ethernet1/1ip-address192.168.20.1default10Noneunicast
図8 登録されたデフォルトルート(実際の画面ではなく、表示結果のイメージです)

管理距離の列の default は、仮想ルータの既定値(10)を使っていることを表します。設定はコミットしたときに反映されます。

仮想ルータ間のルーティング設定

仮想ルータどうしはネットワークが分かれていて、そのままでは通信できません。ただ、一部のネットワークの間だけは、仮想ルータをまたいで通信させたいことがあります。スタティックルートでは、ネクストホップに別の仮想ルータ(次の VR)を指定すると、仮想ルータ間で通信できるようになります。

次の構成で考えます。仮想ルータ internal を新しく作って ethernet1/2 を割り当て、internal と default のそれぞれに、相手の仮想ルータをネクストホップにしたスタティックルートを作ります。これで ethernet1/1 と ethernet1/2 の間で通信できるようになります。

Palo AltoTrustゾーンUntrustゾーン192.168.10.0/24Eth1/2Eth1/1internaldefault0.0.0.0/0192.168.10.0/24internal の経路0.0.0.0/0 → 次のVR defaultdefault の経路0.0.0.0/0 → 192.168.20.1192.168.10.0/24 → 次のVR internal
図9 次の VR を使って、仮想ルータ internal と default をつなぐ
通信の向き経路の引き方
Trust → Untrustinternal で 0.0.0.0/0 に当たり、default に渡します。default で 0.0.0.0/0 に当たり、ethernet1/1 から 192.168.20.1 へ送ります。
Untrust → Trustdefault で 192.168.10.0/24 に当たり、internal に渡します。internal が ethernet1/2 側の 192.168.10.0/24 へ送ります。
ポイント
  • 行きと戻りの両方に経路が必要です。片方の仮想ルータにだけ次の VR のルートを作っても、戻りのパケットが届きません。
  • 仮想ルータ間の転送は1ホップだけです。A → B → C のように、仮想ルータを2つ以上またいで転送する設定はできません。

仮想ルータ default から ethernet1/2 を外す

今はすべてのインタフェースが default に所属しているので、まず ethernet1/2 を default から外します。NETWORK ›› 仮想ルーター で default をクリックし、「全般」タブで ethernet1/2 を選んで「削除」をクリックします。一覧から ethernet1/2 が消えたことを確かめ、OK をクリックします。

仮想ルーター – default画面イメージ
Router Settings ›› 全般
名前default
1インターフェイスインターフェイス☐ ethernet1/1
☑ ethernet1/2
 2⊕ 追加 ⊖ 削除
⋮ (管理距離は変更しない)
3OKキャンセル
図10 default から ethernet1/2 を外す(実際の画面ではなく、操作のポイントを示したイメージです)
No.項目操作
1インターフェイスethernet1/2 のチェックボックスをオンにします。
2削除削除をクリックし、ethernet1/2 が一覧から消えたことを確かめます。
3OKOK をクリックして画面を閉じます。

仮想ルータ internal を追加する

次に、新しい仮想ルータ internal を作ります。NETWORK ›› 仮想ルーター の一覧の下にある「追加」をクリックします。名前に internal を入れ、「インターフェイス」の「追加」をクリックして、表示された候補から ethernet1/2 を選びます。ethernet1/2 が選ばれていることを確かめて、OK をクリックします。

仮想ルーター画面イメージ
Router Settings ›› 全般
1名前internal
2インターフェイスインターフェイス☑ ethernet1/2追加で表示される候補ethernet1/2
loopback
sdwan
tunnel
vlan
⋮ (管理距離は既定値のまま)
3OKキャンセル
図11 仮想ルータ internal の作成(実際の画面ではなく、設定項目のポイントを示したイメージです)
No.項目設定内容
1名前任意の名前です。ここでは internal とします。
2インターフェイス「追加」をクリックし、候補から ethernet1/2 を選びます。default から外したので、ethernet1/2 が候補に出てきます。
3OKOK をクリックして作成します。

仮想ルータの一覧に、internal が追加されます。

PA-VM 管理画面画面イメージ
NETWORK ›› 仮想ルーター
名前インターフェイス設定
defaultethernet1/1スタティックルート: 1
ECMP の状態: 無効
1internalethernet1/2ECMP の状態: 無効
図12 仮想ルータが2つになった一覧(実際の画面ではなく、表示結果のイメージです)

default には ethernet1/1 だけが残り、internal に ethernet1/2 が所属しています。

スタティックルートを追加する(仮想ルータ default)

仮想ルータ default には、内部セグメント 192.168.10.0/24 宛てのネクストホップを仮想ルータ internal にするルートを追加します。NETWORK ›› 仮想ルーター で default をクリックし、スタティックルート ›› IPv4 で「追加」をクリックします。一覧には、先に作った default_route が登録されています。

仮想ルーター – スタティックルート – IPv4画面イメージ
1名前To_Internal
2宛先192.168.10.0/24
3インターフェイスNone
4ネクストホップ次の VR internal
管理距離10 – 240
メトリック10
ルートテーブルユニキャスト
BFD プロファイルDisable BFD
5OKキャンセル
図13 default に追加する内部向けのルート(実際の画面ではなく、設定項目のポイントを示したイメージです)
No.項目設定内容
1名前任意の名前です。ここでは To_Internal とします。
2宛先内部セグメントの 192.168.10.0/24 です。
3インターフェイスNone を選びます。出口のインタフェースは、渡した先の仮想ルータ internal で決まります。
4ネクストホップ「次の VR」を選び、internal を選びます。
5OK入力したら OK をクリックします。

一覧に次のように登録されます。ネクストホップのタイプが next-vr になっています。

仮想ルーター – default ›› スタティックルート ›› IPv4画面イメージ
名前宛先インターフェイスタイプ値
default_route0.0.0.0/0ethernet1/1ip-address192.168.20.1
1To_Internal192.168.10.0/24next-vrinternal
図14 default のスタティックルート(実際の画面ではなく、表示結果のイメージです)

スタティックルートを追加する(仮想ルータ internal)

仮想ルータ internal には、デフォルトルート(0.0.0.0/0)のネクストホップを仮想ルータ default にするルートを追加します。NETWORK ›› 仮想ルーター で internal をクリックし、スタティックルート ›› IPv4 で「追加」をクリックします(この時点では一覧は空です)。

仮想ルーター – スタティックルート – IPv4画面イメージ
1名前Internal_to_Default
2宛先0.0.0.0/0
3インターフェイスNone
4ネクストホップ次の VR default
管理距離10 – 240
メトリック10
ルートテーブルユニキャスト
BFD プロファイルDisable BFD
5OKキャンセル
図15 internal に追加するデフォルトルート(実際の画面ではなく、設定項目のポイントを示したイメージです)
No.項目設定内容
1名前任意の名前です。ここでは Internal_to_Default とします。
2宛先デフォルトルートの 0.0.0.0/0 です。
3インターフェイスNone を選びます。
4ネクストホップ「次の VR」を選び、default を選びます。
5OK入力したら OK をクリックします。

一覧に次のように登録されます。

仮想ルーター – internal ›› スタティックルート ›› IPv4画面イメージ
名前宛先インターフェイスタイプ値
1Internal_to_Default0.0.0.0/0next-vrdefault
図16 internal のスタティックルート(実際の画面ではなく、表示結果のイメージです)

コミットして反映する

画面右上の「Commit」を実行して、設定を反映します。これで、仮想ルータ internal と default の間でルーティングできるようになります。

通信を通すにはセキュリティポリシーも必要

仮想ルータの設定で決まるのは経路だけです。Trust ゾーンと Untrust ゾーンのように異なるゾーンの間の通信は、既定のルール(interzone-default)で拒否されるため、通したい通信を許可するセキュリティポリシーを別に作ります。インターネットへ出す場合は、NAT の設定も必要です。

うまくいかないとき

経路が意図どおり入っているかは、CLI の show routing route で仮想ルータごとのルーティングテーブルを表示して確かめられます。表示のフラグ A が付いた経路が、実際の転送に使われる経路です。

状態よくある原因確認すること
応答が戻らない次の VR のルートを片方の仮想ルータにしか作っていない両方の仮想ルータに、相手に向けたスタティックルートがあるか
経路はあるが通らないゾーン間の通信を許可するセキュリティポリシーがない送信元と宛先のゾーンの組み合わせを許可するルールがあるか
インタフェースが候補にないそのインタフェースが別の仮想ルータに所属したまま元の仮想ルータから外したか(1つのインタフェースは1つの仮想ルータにしか入らない)
3つ目の仮想ルータへ届かない仮想ルータを2つ以上またいで転送しようとしている仮想ルータ間の転送は1ホップだけ。宛先の仮想ルータを直接次の VR にする
設定が反映されないコミットしていないCommit を実行したか

まとめ

今回の構成で設定したスタティックルートは、次の3つです。

仮想ルータ名前宛先インタフェースネクストホップ
defaultdefault_route0.0.0.0/0ethernet1/1IP アドレス 192.168.20.1
defaultTo_Internal192.168.10.0/24None次の VR internal
internalInternal_to_Default0.0.0.0/0None次の VR default

仮想ルータは、1台のファイアウォールの中でルーティングテーブルを分ける仕組みです。分けたネットワークの一部だけを通したいときは、次の VR をネクストホップにしたスタティックルートを、行きと戻りの両方の仮想ルータに作ります。

現在の状況

この記事は、PAN-OS 10.2.4 の従来のルーティングエンジン(仮想ルータ)で検証しています。PAN-OS 10.2 では、Device ›› Setup ›› Management の General Settings で Advanced Routing を有効にすると、Advanced Routing Engine に切り替えられます。切り替えるときに移行スクリプトを使うと、仮想ルータは論理ルータ(Logical Router)に変換されます。メニューも Virtual Routers から Routing(Logical Routers など)に変わります。切り替えにはコミットと再起動が必要です。

コメント