Junos tips og triks

Modifisere outputen fra kommandoer

JUNOS lar deg modifisere outputen fra alle show-kommandoer på mange forskjellige måter og for de som har brukt JUNOS en stund er flere av disse kjente.

jojo@vSRX> show interfaces ge-0/0/0 | ?

Possible completions:

  count                Count occurrences

  display              Show additional kinds of information

  except               Show only text that does not match a pattern

  find                 Search for first occurrence of pattern

  hold                 Hold text without exiting the --More-- prompt

  last                 Display end of output only

  match                Show only text that matches a pattern

  no-more              Don't paginate output

  refresh              Refresh a continuous display of the command

  request              Make system-level requests

  resolve              Resolve IP addresses

  save                 Save output text to file

  trim                 Trim specified number of columns from start of line


Dette JUNOS-tipset tar for seg noen få varianter og kombinasjoner som kan være nyttige, men som nødvendigvis ikke er like enkle å finne fram til.

Generelt alternativ til monitor-kommandoen

Mange brukere av JUNOS setter pris på monitor interface kommandoen som gir deg en løpende oppdatering av tellere på ett enkelt interface eller samtlige interface. Men hva skal du gjøre dersom du ønsker å følge med på en vilkårlig teller, f.eks antall BGP ruter ?

Den enkleste måten å finne antall BGP-ruter (IPv4) er som følger:

nlogic@ruter> show route summary table inet.0   

Autonomous system number: 65222

Router ID: 172.16.1.1

 

inet.0: 592241 destinations, 1091521 routes (528928 active, 0 holddown, 100483 hidden)

              Direct:      6 routes,      5 active

               Local:      4 routes,      4 active

                OSPF:      2 routes,      2 active

                 BGP: 1091483 routes, 528892 active

              Static:     21 routes,     21 active

           Aggregate:      5 routes,      4 active


Dersom du ønsker å følge med på dette over tid, så kan du fortelle JUNOS at du ønsker å gjenta denne kommandoen hvert 10. sekund og siden du strengt tatt bare er interessert i BGP-rutene, så kan du filtrere bort alt annet:

 

nlogic@ruter> show route summary table inet.0 | match BGP | refresh 10   

---(refreshed at 2016-07-28 14:41:26 CEST)---

                 BGP: 1091932 routes, 529271 active

---(refreshed at 2016-07-28 14:41:36 CEST)---

                 BGP: 1091935 routes, 529250 active

---(refreshed at 2016-07-28 14:41:46 CEST)---

                 BGP: 1091934 routes, 529249 active

---(refreshed at 2016-07-28 14:41:56 CEST)---

                 BGP: 1091933 routes, 529245 active

---(*more 100%)---


Bruke display set for å finne ut hvor et element er i bruk

Tenk deg at du har en ruter hvor du har konfigurert flere protokoller og vil sjekke at både OSPF, OSPFv3, MPLS og LDP er konfigurert for interface ae0. Det opplagte valget er å bruke match for å finne ut hvor ae0.0 er brukt, men outputen er ganske ubrukelig:

jojo@ruter> show configuration | match ae0.0                 

        interface ae0.0;

            interface ae0.0 {

            interface ae0.0 {

        interface ae0.0 {

Resultatet blir mye bedre dersom du kombinerer match med display set

jojo@ruter> show configuration | match ae0.0 | display set            

set protocols mpls interface ae0.0

set protocols ospf area 0.0.0.0 interface ae0.0

set protocols ospf3 area 0.0.0.0 interface ae0.0

set protocols ldp interface ae0.0


Gjøre outputen av display inheritance litt penere

De som har tatt i bruk apply-groups kjenner garantert til bruken av display inheritance. Dersom du er blant disse og irriterer deg over alle kommentarene som normalt vises så kan du med fordel benytte no-comments i tillegg. Resultatet blir pent og oversiktlig:

jojo@ruter> show configuration protocols ospf3 | display inheritance no-comments   

area 0.0.0.0 {

    interface lo0.0 {

        passive;

    }

    interface ae0.0 {

        interface-type p2p;

        metric 10;

        ipsec-sa OSPFv3;

    }

}

Hvis du vil ha med informasjon om hvilke(n) apply-group som de forskjellige parametrene er arva fra kan du med fordel bruke terseeller brief for å få en litt mer kompakt listing:

jojo@ruter> show configuration protocols ospf3 | display inheritance terse   

area 0.0.0.0 {

    interface lo0.0 {

        passive;

    }

    interface ae0.0 {

        interface-type p2p; ## inherited from group 'PROTOCOL-DEFAULTS'

        metric 10; ## inherited from group 'PROTOCOL-DEFAULTS'

        ipsec-sa OSPFv3; ## inherited from group 'PROTOCOL-DEFAULTS'

    }

}

 

jojo@ruter> show configuration protocols ospf3 | display inheritance brief   

area 0.0.0.0 {

    interface lo0.0 {

        passive;

    }

    interface ae0.0 {

        ## 'p2p' was inherited from group 'PROTOCOL-DEFAULTS'

        interface-type p2p;

        ## '10' was inherited from group 'PROTOCOL-DEFAULTS'

        metric 10;

        ## 'OSPFv3' was inherited from group 'PROTOCOL-DEFAULTS'

        ipsec-sa OSPFv3;

    }

}