Packet Traceを使用して、Cisco IOS XEルータの多くの問題の診断を開始できます。 これは、ルータ内のパケット処理のトレースであり、それほど前には現れませんでした。 以前は、このような機能はASAファイアウォールでのみ利用可能でした。 ASAでパケットトレーサーを使用した人は同意するでしょう-非常に便利なツールです。 現在、そのアナログは最新のルーター(ISR 4000、ASR、CSR)に登場しています。
生きている例についてメモを作成します。 iOS-XEパケットトレースを簡単に把握できます。 詳細は、ベンダーのWebサイトでいつでも確認できます。 残念ながら、この主題に関する情報はまだ多くありません。 私たちのダイビング中に、あなたは私の言っていることを理解するでしょう。
実験として、ISR 4000ルーターがあります(
Habré上のISR 4000とIOS XEの詳細については既に書いています)。 静的ルーティング、PfR、PBR、アドレス変換(NAT)、ZFWファイアウォール、インターフェイス上のACL、Flexible NetFlow、NBAR2、IPSec、GRE、VTIなど、多くのテクノロジが設定されています。 これにより、トレースが飽和状態になり、実際の操作により近くなります。
多くの技術があり、それぞれに独自のデバッグ方法があります。 時間を無駄にせず、問題の原因を探す場所をすぐに判断するために、パケットトレースが役立ちます。
アドレス192.168.20.8から8.8.8.8に送信されたICMPパケット(エコー要求)を観察します。
アクティブ化のトレースは、2つの部分で構成されます。 最初に、条件付きデバッグを実行します。 その中で、どのパッケージが興味を持っているかを示しています。 この場合、これはACL 199によって記述され、GigabitEthernet0 / 0/0インターフェイスを介してルーターに到着するトラフィックです。
access-list 199 permit icmp host 192.168.20.8 host 8.8.8.8 debug platform condition interf GigabitEthernet0/0/0 ipv4 access-list 199 ingress debug platform condition start
条件付きデバッガは、パケットトレース操作だけでなく使用されます。 このツールを使用すると、ログメッセージを効果的にフィルタリングし、生成の段階でメッセージをデバッグできます。 条件を設定し、必要なもののみに関連するレコードを表示できます。
次に、パケットトレースを直接オンにします。 バッファとトレースの深さを指定します。 最小-16パッケージ。 深さ:基本(パストレース)または高度(フィアトレース)。 拡張の場合、QFPプロセス内のすべての機能の作業の詳細な結論が得られます。 パケット転送(データパス)を担当するのは彼です。
debug platform packet-trace packet 16 fia-trace debug platform packet-trace enable
ASAパケットトレーサーと比較して、構文は確かにそれほど便利ではありません。
ASAパケットトレーサー自体が、さらにトレースするためのパケットを生成できます。 IOS-XE Packet Traceは、これを行う方法を知りません。 それが機能するためには、パッケージがどこかから来ることが必要です。
尾を掃除するチーム。 すべてを終えたときに便利です。
no debug platform packet-trace enable clear platform packet-trace statistics clear platform condition all
すべてがセットアップされました。 pingを開始して、必要なパケットがルーターを通過するようにします。
パケットトレースに入ったパケットの一般的な出力を確認します。
cbs-4000
1つあります。 Gi0 / 0/0インターフェースを経由し、Gi0 / 0 / 1.5を介してさらに転送されました(FWD状態)。
トレースボリュームは、設定された機能に直接依存します。 ルーティングのみがある場合、データははるかに少なくなります。
名前のいくつかは明確です。 しかし、デコードが容易ではない段階があります。 この点に関して、ベンダーのドキュメントはあまり役に立ちません。
最も興味深い点を強調します。1.データフローを識別する情報:
Feature: CFT … tuple.src_ip : 192.168.20.8 tuple.dst_ip : 8.8.8.8 tuple.src_port : 61609 tuple.dst_port : 161 tuple.vrfid : 0 tuple.l4_protocol : ICMP tuple.l3_protocol : IPV4
データはCFT(共通フローテーブル)に保存されます。 これらは、各ストリームに関する情報(Netflow、NBAR、PfRなど)を使用して作業を行うテクノロジーで使用されます。 CFTテーブルは、冗長な情報を保存しないために必要です。
2.アウトバウンドインターフェイスの定義:
パケットがルーターに到着したとき、発信インターフェイスは未定義です。 着信が置換されます。
Feature: IPV4 Input : GigabitEthernet0/0/0 Output : GigabitEthernet0/0/0 Source : 192.168.20.8 Destination : 8.8.8.8 Protocol : 1 (ICMP)
パケットをさらにどこに送信するかが決定されると(ルーティング機能が実行されます)、発信インターフェイスが変更されます。
Feature: FIA_TRACE Input : GigabitEthernet0/0/0 Output : GigabitEthernet0/0/1.5 Entry : 0x8113ac40 - IPV4_INPUT_LOOKUP_PROCESS Lapsed time : 4160 ns
3. ZFWファイアウォールによるパケット処理に関するデータ:
Feature: ZBFW Action : Fwd Zone-pair name : in-out1 Class-map name : CM-FW_in-out Input interface : GigabitEthernet0/0/0 Egress interface: GigabitEthernet0/0/1.5
パケットがどのゾーンを通過し、どのクラスで落下したかがすぐにわかります。 ZFW構成はしばしば非常に混乱するため、これは十分に便利です。
4.アドレス変換情報:
Feature: NAT Direction : IN to OUT Action : Translate Source Old Address : 192.168.20.8 00001 New Address : 87.87.87.87 00033
パケットの宛先アドレスは87.87.87.87に置き換えられました。
5. IPSecはルーターで構成されているため、パケットが着信したかどうかが確認されます。
Feature: IPSec Result : IPSEC_RESULT_DENY Action : SEND_CLEAR SA Handle : 0 Peer Addr : 8.8.8.8 Local Addr: 87.87.87.87
いいえ、私はしませんでした。
トレースは多くの追加情報を提供します。 たとえば、IPV4_INPUT_PBRは、パケットがPBRを通過したことを示します。 ただし、PBRが適用されたかどうか、または標準ルーティングルールへの処理のためにパケットが送信されたかどうかに関する情報は見つかりません。 この場合、パケットはPBRルールに該当しませんでした。 エントリIPV4_INPUT_TCP_ADJUST_MSSは、インターフェイスでip tcp adjust-mssコマンドが設定されていることを示します。 同時に、前の例のように、詳細は取得しません。
デバイスによって表示される情報のほとんどは関心がありません。 ただし、パッケージに問題が発生すると状況が変わります。
状況1 入力インターフェイスでパケットがドロップされたACL cbs-4000
ACL(Ipv4Acl)が機能したため、パケットはドロップ(DROP)されました。
INPUT_DROP_EXTおよびIPV4_INPUT_ACLは、パケットがインバウンドインターフェイスでドロップされたことを報告します。 パッケージの寿命のように、トレースは短いことが判明しました。
状況No. 2。 アウトバウンドインターフェイスでパケットドロップACL cbs-4000
繰り返しますが、ACL(Ipv4Acl)のためにパケットは送信されませんでした(DROP)。 ただし、現在、Gi0 / 0 / 1.5は発信インターフェイスとして表示されます。
最後のトレースには、パッケージの運命に関する情報があります:OUTPUT_DROP_EXTおよびIPV4_OUTPUT_ACL。 ほとんどの処理段階が経過したことから明らかなように、パケットはルーターの足からほとんど逃げ出しました。
状況No. 3。 ファイアウォールによってドロップされたパケット cbs-4000
パケットはドロップされます(DROP)。 その理由は、ファイアウォールポリシー(FirewallPolicy)です。
OUTPUT_DROP_EXT IPV4_OUTPUT_INSPECT , , . ZFW:
Feature: ZBFW Action : Drop Reason : ICMP policy drop:classify result Zone-pair name : in-out1 Class-map name : class-default Input interface : GigabitEthernet0/0/0 Egress interface: GigabitEthernet0/0/1.5
Reason , , ICMP. , , — class-default.
№4. PBR cbs-4000
(FWD). Gi0/0/1.6.
( ) PBR, . , , NAT'.
№5. VTI172.28.0.1.
cbs-4000
(FWD). Gi0/0/1.5.
, . :
Feature: FIA_TRACE Input : GigabitEthernet0/0/0 Output : Tunnel1 Entry : 0x8113ac40 - IPV4_INPUT_LOOKUP_PROCESS Lapsed time : 5920 ns
. , ( zone-pair):
Feature: ZBFW Action : Fwd Zone-pair name : N/A Class-map name : N/A Input interface : GigabitEthernet0/0/0 Egress interface: Tunnel1
, .
IPV4_OUTPUT_TUNNEL_PROTECTION_ENCRYPT Feature: IPSec Result : IPSEC_RESULT_SA Action : ENCRYPT SA Handle : 98 Peer Addr : 188.188.188.188 Local Addr: 87.87.87.87
, .
Feature: FIA_TRACE Input : Tunnel1 Output : GigabitEthernet0/0/1.5 Entry : 0x8113ac40 - IPV4_INPUT_LOOKUP_PROCESS_EXT Lapsed time : 4000 ns
, IPSec ( crypto-map). , IPSec .
Feature: IPSec Result : IPSEC_RESULT_DENY Action : SEND_CLEAR SA Handle : 0 Peer Addr : 188.188.188.188 Local Addr: 87.87.87.87
№6. next-hop ( ) cbs-4000
PUNT , CEF' (process switching). – adjacency next-hop (Incomplete adjacency). , .
:
Feature: FIA_TRACE Input : GigabitEthernet0/0/0 Output : GigabitEthernet0/0/1 Entry : 0x8113ac40 - IPV4_INPUT_LOOKUP_PROCESS Lapsed time : 135360 ns
CEF , (internal0/0/rp:0):
Feature: FIA_TRACE Input : GigabitEthernet0/0/0 Output : internal0/0/rp:0 Entry : 0x8113ac40 - IPV4_INPUT_LOOKUP_PROCESS_EXT Lapsed time : 30240 ns
, (INTERNAL_TRANSMIT):
Feature: FIA_TRACE Input : GigabitEthernet0/0/0 Output : internal0/0/rp:0 Entry : 0x8112ce90 - INTERNAL_TRANSMIT_PKT_EXT Lapsed time : 137440 ns
Packet Trace QFP. , , . debug ip packet. .
おわりに, IOS XE Packet Trace , . , , , show debug.
– (packet capture). IOS XE IOS.
Packet capture:
monitor capture CAP access-list 199 monitor capture CAP interface GigabitEthernet0/0/0 in monitor capture CAP start
, , :
monitor capture CAP stop monitor capture CAP export tftp://10.0.0.1/CAP.pcap no monitor capture CAP