本文へ移動

インフラ転職コンパス現場・技術・キャリアをつなぐ専門メディア

メニュー

Cisco IOSのNAT・ACL・Routing処理順をパケットフローで解説

Cisco IOSのNAT・ACL・routing処理順は、inside-to-outsideかoutside-to-insideか、input ACLかoutput ACLか、NVI/VRF/platform機能を使うかで見方が変わります。暗記表だけでruleを設計せず、対象versionのpacket processing資料とdebug以外の状態情報で確認します。

この記事でわかること

  • inside/outside方向別の処理点
  • input・output ACLとNAT address
  • routing lookupとの関係
  • packet flowを検証するcommand

Xの元ポスト

Cisco IOSのinside→outside通信でinput ACL、Routing、NAT、output ACLの順を整理したポスト。

けんと@設計構築チャンネル
けんと@設計構築チャンネル
NATのACL・ルーティングは、機能名だけでなく処理される順番で追います。変換前後のIPアドレスとポート、ACLが参照する値、経路選択を通信方向ごとに表へ分けてください。

Cisco IOSのNAT・ACL・Routingはどの順で処理される?

先に答えると、Cisco IOSのNAT・ACL・routing処理順は、inside-to-outsideかoutside-to-insideか、input ACLかoutput ACLか、NVI/VRF/platform機能を使うかで見方が変わります。暗記表だけでruleを設計せず、対象versionのpacket processing資料とdebug以外の状態情報で確認します。

insideからoutsideでは何を見る?

仕組みを構成上の位置と観測点に分けると、用語だけでなく実際のpacket・stateを説明できます。

仕組みと判断軸
項目 仕組み・役割 実務での判断
input ACL ingressで評価 その時点のheaderを対象versionで確認
routing lookup egressを決定 NAT処理で再評価される構成も確認
NAT source/destinationを書き換え inside local/global等
output ACL egress側で評価 変換済み/未変換を実機で検証
構成・処理フロー
inside host → ingress ACL → route/NAT processing → egress ACL → outside
outside host → ingress ACL → NAT/route processing → egress ACL → inside
※簡略図。NVI・ZBF・VRF・platformで追加処理あり

outsideからinsideでは何を見る?

outsideからinsideでは何を見る?では、対象と期待値を固定し、状態取得、実通信、変更後確認の順に進めます。commandは例であり、本番投入前に対象OSの公式資料と現行設定を確認してください。

実行手順と完了条件
STEP 実施内容 確認する結果
1 通信方向と4 addressをpacket flowへ記入 inside/outsideを固定
2 interfaceのip nat inside/outsideとACL方向を取得 設定点を確定
3 route・NAT translation・ACL counterをbefore取得 現在状態
4 1 sessionだけ生成しcounter/log変化を照合 実装順を裏付け
設定・確認例(対象機種・OS・versionで確認してください)
show running-config interface GigabitEthernet0/0
show running-config interface GigabitEthernet0/1
show ip route <destination>
show ip nat translations verbose
show ip nat statistics
show ip access-lists
正常時の出力例・記録例
Inside local: 10.0.0.20:51500
Inside global: 203.0.113.20:51500
ACL-IN matches: +1
ACL-OUT matches: +1
Route: 0.0.0.0/0 via 203.0.113.1

input・output ACLはどのaddressを参照する?

一つの表示だけで原因を決めず、症状ごとに次の観測点を選びます。正常時の同条件出力が比較基準です。

正常時と異常時の切り分け
症状・誤り 主な原因候補 次に確認すること
図とcounterが不一致 別rule/route/context matched sequenceとVRF
translationなし NAT ACL不一致・inside/outside誤り statisticsとconfig
translationあり通信なし return route・outside policy reverse direction
debugで高負荷 無条件debug counter/log/captureを先に使う
けんと@設計構築チャンネル
けんと@設計構築チャンネル
障害時は往路だけで判断せず、変換テーブル、ACLのhit count、戻り経路、サーバーログの時刻をそろえると、どの処理で止まったかを切り分けやすくなります。

設計と実機をどう照合する?

Ciscoのdebug ip packetやdebug ip natは本番負荷と大量出力を招く可能性があります。maintenance条件とfilterを設計し、まずshow command、ACL counter、flow record、packet captureで絞ります。

  • 対象機器・interface・VRF/VLAN
  • 取得日時・timezone・software version
  • 変更前後の同一command出力
  • 期待値・実測値・判定者
  • 異常時の停止条件とrollback結果

関連する仕組みを次に確認する

定義だけで終わらせず、隣接する仕組みと障害切り分けへ進みます。

まとめ:暗記した順序ではなく、対象方向のcounterとtranslationで検証する

暗記した順序ではなく、対象方向のcounterとtranslationで検証することが結論です。構成図、設定・command、正常時と異常時の結果を同じ条件で保存し、第三者が判断を再現できる状態にしてください。

最近の記事
お知らせ