ルーティング変更が反映されない時の確認手順|即復旧のための完全チェックガイド

  • URLをコピーしました!

ルートを追加・変更したのに通信経路が変わらない。
設定は正しいはずなのに、トラフィックが旧経路を通り続ける。

本記事では、ルーティング変更が反映されない原因を網羅的に整理し、 現場でそのまま使える確認コマンドと判断基準を提示します。

目次

まず結論:ルーティング変更が反映されない主な原因

  • ルーティングテーブルに実際には入っていない
  • 優先度(Administrative Distance / Metric)で負けている
  • ルートキャッシュが残っている
  • PBR(ポリシールーティング)が上書きしている
  • 別装置で経路が吸収・要約されている
  • セッション維持により旧経路が使われ続けている
  • 片方向のみ変更され非対称になっている

以下で順番に潰していけば必ず原因に到達できます。

Step1:本当にルートが入っているか確認する

■ Cisco系

show ip route 192.168.10.0
show ip route | include 192.168.10.0

■ Linux

ip route show
ip route get 192.168.10.10

判断基準

  • 目的ネットワークが「active」で存在するか
  • Next-hopが想定通りか
  • 複数ルートが存在しないか

存在しなければ → 広告失敗 or 静的設定ミス

Step2:Administrative Distance / Metricで負けていないか

ルートは入っているが、別ルートが優先されているケースは非常に多いです。

確認ポイント

  • OSPFより静的が優先されていないか
  • EBGPよりiBGPが優先されていないか
  • Floating Staticが有効になっていないか

Cisco確認

show ip route 192.168.10.0

[110/20] の110がAdministrative Distance、20がMetric。

ADが小さいものが勝つため、意図通りか確認します。

Step3:ルートキャッシュの影響を疑う

特にLinuxや一部装置ではフローベースのキャッシュにより、 旧経路がしばらく使われ続けます。

Linux

ip route flush cache

FW装置の場合

  • セッションテーブルをクリア
  • 該当セッションのみ削除

変更後も旧経路が使われる場合はほぼセッション残存です。

Step4:PBR(ポリシールーティング)を確認

通常ルートを変更しても、PBRが優先されると意味がありません。

Cisco

show route-map
show ip policy

Linux(ip rule使用時)

ip rule show

PBRはルーティングテーブルより上位で評価されます。

Step5:上位装置で要約・ブラックホールされていないか

以下のような構成で起こりやすいです。

  • コアでサマリルートを生成
  • Null0向けにスタティックが入っている
  • BGPでAggregateのみ広告している

確認

show ip route summary
show ip bgp 192.168.10.0

より具体的なルートが存在するか確認すること。

Step6:非対称ルーティングになっていないか

片方向だけ変更すると、戻り経路が旧経路のままになり、 FWで破棄されることがあります。

確認方法

traceroute 192.168.10.10

送信元と受信側両方から実施します。

往復経路が一致しているかが重要。

Step7:ダイナミックルーティングの収束を確認

OSPF

show ip ospf neighbor
show ip ospf database

BGP

show ip bgp summary
show ip bgp 192.168.10.0

確認ポイント

  • NeighborがEstablishedか
  • LSA/Prefixが配布されているか
  • Route-mapでフィルタされていないか

Step8:ECMPの影響

ECMP環境ではトラフィックが分散され、 「変更が反映されていない」ように見えることがあります。

確認

show ip route 192.168.10.0

Next-hopが複数存在するか確認。

現場で使える即断フローチャート

  1. ルートが入っているか? → NOなら広告確認
  2. AD/Metricで勝っているか? → NOなら優先度調整
  3. PBRがないか? → あれば修正
  4. セッション残っていないか? → クリア
  5. 戻り経路も変更済みか? → traceroute確認
  6. 上位で要約されていないか? → サマリ確認

よくある実例

ケース1:静的ルート追加したのに変わらない

→ OSPFのAD(110)より静的(1)が優先されるはずだが、
Floating StaticでAD200になっていた。

ケース2:FW跨ぎで変わらない

→ セッションテーブルに旧経路が残存。

ケース3:BGPで変更したのに反映されない

→ Route-mapでフィルタされていた。

まとめ

ルーティング変更が反映されない原因は、

  • ルート未登録
  • 優先度負け
  • PBR上書き
  • セッション残存
  • 非対称経路
  • 要約吸収

のいずれかです。

「ルーティングテーブル → 優先度 → ポリシー → セッション → 往復経路」 この順番で確認すれば必ず解決できます。

目次