パイプ

パイプ(|)の話です。

設定の内容を確認していると少しでも簡潔に表示させたいと思いますから、sh ip int b | e una として未使用のインタフェースを除外して表示したり、sh ip ro | b Gatesh ip bgp | b NetとしてCodeを省略したりします。試験中に sh run だけでいちいち全部を表示させるようなことはまずないですが、sh run | sec でところどころを確認することはよくあります。ただ、パイプを使わない時の本来の表示結果をイメージできていないと必要な情報を見落としてしまう可能性もあるので気をつけたいところです。
例えば、TroubleshootingでもConfigurationでもよいのですが、BGPが使われるケースでは自ルータが想定どおりの経路を広報しているのかを確認したい場合、show ip bgp neighbors ~ advertised-routesコマンドを私は利用するのですが、これをいつもの調子で使ってみると

R3#sh ip bgp nei 10.3.5.5 adv | b Net
     Network          Next Hop            Metric LocPrf Weight Path
 *>i 172.16.0.0/24    10.0.0.1                 0    100      0 i
 *>i 172.16.1.0/24    10.0.0.1                 0    100      0 i
 *>i 172.16.2.0/24    10.0.0.1                 0    100      0 i
 *>i 172.16.3.0/24    10.0.0.1                 0    100      0 i
 *>i 192.168.0.0      10.0.0.1                 0    100      0 i
 *>i 192.168.1.0      10.0.0.1                 0    100      0 i
 *>i 192.168.2.0      10.0.0.1                 0    100      0 i
 *>i 192.168.3.0      10.0.0.1                 0    100      0 i
Total number of prefixes 8
R3#

と表示されます。これはこれでStatus Codes などの部分が無くなって、すっきりとして気持ちがいいです。
(オチは想像つきましたか?)

今回のパイプ無しの場合の表示は以下です。

R3#sh ip bgp nei 10.3.5.5 adv
BGP table version is 10, local router ID is 10.0.0.3
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
              r RIB-failure, S Stale, m multipath, b backup-path, f RT-Filter,
              x best-external, a additional-path, c RIB-compressed,
Origin codes: i - IGP, e - EGP, ? - incomplete
RPKI validation codes: V valid, I invalid, N Not found
Originating default network 0.0.0.0
     Network          Next Hop            Metric LocPrf Weight Path
 *>i 172.16.0.0/24    10.0.0.1                 0    100      0 i
 *>i 172.16.1.0/24    10.0.0.1                 0    100      0 i
 *>i 172.16.2.0/24    10.0.0.1                 0    100      0 i
 *>i 172.16.3.0/24    10.0.0.1                 0    100      0 i
 *>i 192.168.0.0      10.0.0.1                 0    100      0 i
 *>i 192.168.1.0      10.0.0.1                 0    100      0 i
 *>i 192.168.2.0      10.0.0.1                 0    100      0 i
 *>i 192.168.3.0      10.0.0.1                 0    100      0 i
Total number of prefixes 8
R3#

前半部分にここでは必要としてないStatus Codesなどがつくのでちょっと邪魔な感じがします。しかし、よく見てみると、中段に独立した一行があるのが分かりますね。
このルータは neighbor 10.3.5.5 default-originate でデフォルトルートを広報しています。他の172や192の経路とは違う箇所に表示されるのでdefault-originate 設定が無い時と同じ勢いでパイプしていると見落としてしまいますね。
そもそもsh ip bgp | b Net を先にやればデフォルトを広報していることくらい気付くだろうという指摘はごもっとですw
CCIEの試験では必要な設定を投入することもちろん必要ですが、それらがしっかりと反映されたか、意図した結果になっているかの確認は絶対に必要です。どんなに簡単なコマンドで間違いなく投入することに自信があったとしても、show コマンドによる確認を省略してはいけません。で、そうなってくると、あの試験は量が多いので確認コマンドも適切なコマンドで、いかにすばやく確認するかが重要になってきます。そうするとただshow コマンドを知っているだけではなく、すぐに知りたい箇所を表示できるようにパイプなどを使った確認が欠かせません。
今回は分かりやすい例ですが、常にshow コマンドとその結果イメージ、パイプを併用しての簡素な表示などを心がけて実機の勉強をすることが大事かと思います。

コメント