本文へ移動

インフラ転職コンパスわからないところから、ひとつずつ。

メニュー

PBRとは?Ciscoの設定手順とset ip next-hopの違い

同じインターネット宛でも、社員PCは業務回線、ゲストWi-Fiは別回線へ流したい。宛先IPだけでは区別できない要件で使うのがPBRです。

PBRは、送信元やプロトコルなどの条件に合う通信へ、通常とは別の転送先を指定する仕組みです。経路表を丸ごと置き換える機能ではありません。対象を選び、転送先を決め、入口へ適用するという順で、設定の意味を読み解きます。

PBRは、宛先以外の条件でも経路を選べる

通常のルーティングでは、その経路表にある宛先の経路から出力先を選びます。同じ宛先へ向かう通信を、送信元の部署や用途で分けたいときは、それだけでは判断できません。

PBRでは、条件に合うパケットへ別の次ホップを指定します。次ホップは、最終宛先ではなく、次にパケットを渡す装置です。

通常のルーティング PBR
判断に使う情報 宛先IPアドレスのみ 送信元IP、宛先IP、プロトコル、ポート、パケット長など
参照するもの ルーティングテーブル route-map(一致しなければルーティングテーブル)
適用の単位 機器全体 パケットを受信したインターフェース単位
評価の順序 ロンゲストマッチ route-mapのシーケンス番号順(先に一致した行で確定)
  • 送信元別の回線振り分け:ゲストWi-Fiのセグメントだけ、業務回線ではなくインターネット専用回線へ流す
  • アプリ別の経路制御:特定の業務システム宛だけ、遅延の小さい専用線を通す
  • 検査装置の経由:特定セグメントの通信だけ、プロキシやIPSを必ず経由させる
  • 移行期間中の並行運用:一部拠点だけ新回線へ寄せて、問題があれば設定を外して戻す

route-mapに一致しない通信は、通常の経路表による転送へ進みます。すべての通信を別経路へ移すつもりで読むと、対象外の動作を取り違えます。

宛先ごとの経路で要件を満たせるなら、通常のルーティングで済むかを先に考えましょう。PBRを追加すると、入口、条件、障害時の動作を確認する項目が増えます。

ACLで対象を選び、route-mapで次ホップを指定する

例は10.1.10.0/24からの通信を、到達可能な次ホップ172.28.31.1へ送る設定です。まずACLのpermitで対象を選び、route-mapのmatchでそのACLを参照し、setで転送先を指定します。

最後のip policy route-mapは、その通信を受信するインターフェースへ設定します。送信側へ付けても、意図した入口のパケットは評価されません。

! 1. 対象をACLで定義する
Router(config)# ip access-list extended PBR-GUEST
Router(config-ext-nacl)# permit ip 10.1.10.0 0.0.0.255 any
Router(config-ext-nacl)# exit

! 2. route-mapで転送先を指定する
Router(config)# route-map PBR-MAP permit 10
Router(config-route-map)# match ip address PBR-GUEST
Router(config-route-map)# set ip next-hop 172.28.31.1
Router(config-route-map)# exit

! 3. パケットを受信するインターフェースへ適用する
Router(config)# interface GigabitEthernet0/1
Router(config-if)# ip policy route-map PBR-MAP
Router(config-if)# end

ルーター自身が作るpingなどは、端末から入口へ来るパケットと別です。自身の通信に適用するlocal policyは、対応機種と設定を確認します。端末の試験をルーターのpingだけで代用しないようにします。

default next-hopは「デフォルトルートがあると無効」ではない

set ip next-hopは、ポリシーで指定した次ホップを優先する使い方です。指定先が利用できない場合の通常転送や到達性の判定は、機種と設定に合わせて確認します。

set ip default next-hopは、宛先への明示的な経路がある場合、その経路を使います。明示的な経路がなく、デフォルトルートだけが一致する場合には、ポリシーで指定した次ホップへ送ります。

コマンド 先に確認するもの 結果
set ip next-hop 指定したネクストホップがルーティングテーブルにあるか あればPBRで転送。無ければ通常のルーティングテーブルで転送
set ip default next-hop 宛先への明示的な経路(デフォルトルート以外)があるか あればPBRを使わず通常転送。無ければPBRで転送

ここは間違えやすいところです。「デフォルトルートがあるから発動しない」とは言えません。Ciscoの比較資料でも、デフォルトルートだけがある構成でPBRが働く例を示しています。

試験では、宛先への個別経路がある場合と、デフォルトルートしかない場合を分けてください。二つのコマンド名が似ていても、経路を優先する条件が違います。

適用先、条件の一致、実際の転送を別々に確認する

show ip policyで入口にroute-mapが付いているかを見ます。次にACLとroute-mapの内容・カウンターを読み、対象の端末から試験通信を発生させます。

一致数が増えない場合は、送信元、ワイルドカード、入口、試験の条件を照合します。一致していても、指定先の隣接状態や先の経路が足りなければ、業務通信は成立しません。

Router# show route-map
Router# show ip policy
Router# show access-lists PBR-GUEST
コマンド 見るところ
show route-map match / set の内容と、ポリシーで転送されたパケット数
show ip policy どのインターフェースにどのroute-mapが適用されているか
show access-lists ACLのヒットカウンタ。増えていなければ対象に一致していない
  1. 適用インターフェースが受信側か
    送信側に付けていないか。show ip policy で適用先を確認します。
  2. ACLに一致しているか
    show access-lists の機種ごとのカウンタ反映条件を確認し、実際の転送と合わせて見ます。送信元アドレスの範囲、ワイルドカードマスクの桁を確認します。
  3. ネクストホップに到達できるか
    set ip next-hop の基本例では直結の次ホップを指定します。対象機種での利用可否判定と到達性監視の設定を確認し、障害時の転送を実際に試します。
  4. set ip default next-hop を使っていないか
    明示的な経路がある宛先と、デフォルトルートだけの宛先を分けて試します。
  5. 戻り通信の経路を確認する
    行きだけPBRで曲げると、戻りが別経路になって非対称になります。状態管理するFWを別々に通る場合などは、非対称経路が通信失敗の原因になり得ます。
試験する通信 期待する転送 確認するもの
送信元10.1.10.0/24に一致、ネクストホップ到達可能 PBRで指定先へ ACL・route-mapのヒットと実際の経路
ACLに不一致 通常の経路表へ 宛先経路、戻り経路、ヒット数の変化なし
指定ネクストホップが到達不能 機種・設定のフォールバック動作を検証 実際の通信、ログ、切り戻し条件

カウンターの表示や更新は、ハードウェア転送や機種によって差があります。増えた・増えないだけで原因を確定せず、キャプチャや実際の経路と組み合わせます。

対象に一致する通信と、一致しない通信の両方を試すと、振り分けの境界が分かります。試験前後の時刻と数値を残し、別の通信による増加も区別してください。

戻り経路と、次ホップ障害時の動作も設計する

行きだけ別回線へ送ると、返信が元の回線へ戻る場合があります。経路が非対称でも通信できる構成はありますが、途中のステートフルFWやNATの状態に合わないと失敗します。

行きの矢印と戻りの矢印を別に図へ書き、どの装置を通るかを確認します。PBRが戻り経路も自動的に作るわけではありません。

  • 戻り通信をどうするか:対向の経路表とNATの変換条件を確認し、FWの状態管理が必要な往路・復路が同じ装置を通るか試す
  • ネクストホップが落ちたときの動作:次ホップの利用可否判定と通常経路への移行を、機種・監視設定に合わせて検証する
  • 構成図への書き方:通常経路とポリシー経路を別の線で描く。configだけでは他の人が追えません
  • 試験項目:一致する通信と、一致しない通信の両方を試験する。一致しない側が通常経路に乗ることまで確認します
  • 切り戻し手順:no ip policy route-map をインターフェースから外すだけで戻せるか、ACLも消す必要があるか

指定した次ホップの先が故障しても、隣接リンクだけは生きていることがあります。必要なら到達性監視の仕組みを検討し、検知後にどの経路を使うかを試験します。

切り戻しでは、入口のポリシーを外したあと、通常経路で通信が戻るかを確認します。ACLやroute-mapを削除する場合は、別の設定から参照されていないかも確かめます。

設定の三つの役割を、図と一緒に説明する

ACLは対象、route-mapは判断と転送先、ip policy route-mapは適用する入口。この三つを分けると、PBRの設定を読みやすくなります。

default next-hopを使う場合は、宛先の明示的な経路の有無を確認します。デフォルトルートだけの状態とは区別してください。

最後に、対象外通信、戻り通信、次ホップ故障時の通信まで試します。意図した通信一本が通ることから、振り分け全体が正しく動くことへ確認を広げていきましょう。

確認に使った公式資料
最近の記事
ピックアップ