Router Juniper

Nota

Junos é o sistema operacional que roda nos roteadores e switches do fabricante Juniper Networks. O kernel do Junos é baseado no sistema Unix FreeBSD. Vamos a uma rápida introdução aos comandos básicos para roteadores Juniper e depois complementamos com alguns exemplos práticos do cotidiano do ambiente de redes.

Juniper

A cli – command line interface, do sistema conta com basicamente dois modos:

  • Operational Mode - Permite monitorar e realizar troubleshooting no dispositivo.

  • Configuration Mode - Permite realizar configurações do equipamento. As configurações realizadas são armazenadas em um estrutura hierárquica, contendo instruções para o dispositivo, incluindo interfaces, informações de roteamento, permissões de acesso e propriedades de sistema e hardware. As alterações realizadas nesse modo, são armazenadas em um arquivo chamado candidate configuration. Esse arquivo permite realizar alterações sem causar mudanças imediatas nas configurações que estão rodando no roteador, chamada active configuration. O dispositivo não irá implementar as mudanças realizadas até você aplicá-las manualmente na active configuration.

Quando pressionamos a tecla “?”, o sistema nos mostra todos os possíveis comandos que podem ser usados, incluindo uma breve descrição de cada um.

Para configurar um parâmetro usamos o comando set, enquanto que para apagar um parâmetro usamos o comando delete.

Para editar um parâmetro usamos o comando edit, e o comando show é utilizados para visualização.

Para salvar as configurações na active configuration utilizamos o comando commit.

Configuração básica do dispositivo

Comandos de verificação:

root> show system uptime – Verificar tempo de operação do equipamento.

root> show system users – Verificar usuários logados.

root> show system storage – Verificar armazenamento de dados local.

root> show system processes – Verificar a tabela de processos em execução.

root> show chassis hardware – Verificar componentes de hardware instalados.

root> show chassis environment – Verificar status dos componentes e temperatura, e velocidades do sistema de refrigeração.

root> show chassis routing-engine – Verificar status da routing engine.

root> show chassis alarms – Verificar alarmes de alertas no equipamento

root> show version – Versão do Junos OS que esta rodando no equipamento. Também exibe o host name e o modelo do dispositivo.

root> show log chassisd | no-more – Verificar logs relacionados aos alarmes do hardware

root> show log messages | no-more – Verificar mensagens de log

root> show log messages | last 50 – Verificar mensagens de log das últimas 50 linhas

root> show log user – Verificar histórico de login dos usuários

root> show configuration – Verificar a configuração atual

root> show interfaces terse – Breve descrição sobre o status das interfaces

root> show interfaces interface-name – Descrição sobre uma interface

root> show interface interface-name extensive – Descrição detalhada sobre uma interface

root> clear interfaces statistics interface-name – Reinicia as estatísticas de uma interface

root> show bgp summary – Breve descrição sobre o estado do protocolo

root> show ospf overview – Breve descrição sobre o estado do protocolo

root> show isis overview – Breve descrição sobre o estado do protocolo

root> show route 216.142.248.0 extensive – Descrição detalhada sobre uma rota específica

root> show route 192.168.68.0/24 – Descrição sobre uma rota específica

root> show route terse – Descrição da tabela de rotas

Definir host name:

root# set system host-name juniper

Definir uma senha de acesso ao usuário root:

root# set system root-authentication plain-text-password
New password:
Retype new password:

root# commit
commit complete

Adicionar ip a uma interface:

root@juniper# set interfaces em0 unit 0 family inet address 192.168.1.254/24

Adicionar um rota estática:

root@juniper# set routing-options static route 192.168.68.0/24 next-hop 192.168.1.1

Habilitar ssh:

root@juniper# set system services ssh

Data e Hora:

root@juniper# set system ntp server 200.160.0.8

root@juniper# set system time-zone America/Sao_Paulo

Ping e Traceroute:

root@juniper> ping 192.168.1.1
root@juniper> ping rapid count 1000 size 1400 192.168.1.1
root@juniper> traceroute 192.168.1.1

Nota

Para utilizar comandos de Operational Mode dentro do Configuration Mode, utilize a sintaxe run antes do comando.

Como no exemplo abaixo:

root@juniper# run ping 192.168.1.1

Salvar configuração:

root@juniper# commit check – Realiza uma checagem de erros na configuração, mas não aplica.

root@juniper# commit at "2017-09-15 23:59" – Aplica a configuração no dia e horário informado no comando.

root@juniper# commit confirmed 1 – Aplica a configuração em um "modo de segurança", caso não seja confirmada no tempo pré-definido no comando, a configuração será descartada e voltará ao seu estado original, função rollback.

root@juniper# commit and-quit – Aplica a configuração e sai do configuration mode.

Aqui abordamos comandos super básicos, e para maiores informações e melhor aprofundamento do conteúdo apresentado, sugiro buscar informações mais detalhadas no site oficial www.juniper.net

1. Exemplos práticos

Nota

Checagem da interface Wan - Análise de perda de pacotes, incremento de erro ou quedas recentes.

Verificar informações de todas interfaces:

Supersonic@C3PO> show interfaces descriptions

Mostrar breve resumo da interface:

Supersonic@C3PO> show interfaces ge-0/0/1 terse

Verificar últimos logs de quedas:

Supersonic@C3PO>show log messages | last 200

Verificar as informações de todas interfaces:

Supersonic@C3PO> show interfaces descriptions | find ge-0/0/1
Supersonic@C3PO> show interfaces descriptions | find ge

Verificar informações da interface:

Supersonic@C3PO> show interfaces descriptions | match ge-0/0/1

Verificar se está fisicamente up ou down:

Supersonic@C3PO> show interfaces detail | match ge-0/0/1

Visualizar todas as interfaces:

Supersonic@C3PO> show interfaces

Visualizar todas as interfaces com detalhamento:

Supersonic@C3PO> show interfaces brief

Visualiza todos os tipos de erros:

Supersonic@C3PO> show interfaces ge-0/0/1 extensive
Supersonic@C3PO> show interfaces ge-0/0/1 extensive | match errors

Verificar tempo de operação do equipamento:

Supersonic@C3PO> show system uptime

Ping teste:

Supersonic@C3PO> ping 200.185.0.60 rapid count 50 size 1500

PING 200.185.0.60 (200.185.0.60): 1500 data bytes
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
--- 200.185.0.60 ping statistics ---
50 packets transmitted, 50 packets received, 0% packet loss
round-trip min/avg/max/stddev = 0.163/0.174/0.311/0.024 ms

Como acessar Juniper de um router para outro, neste caso este procedimento serve para validação de interface:

Supersonic@C3PO> show interfaces ge-0/0/3 descriptions
ge-0/0/3        up    up   To-R2D2

Supersonic@C3PO> show configuration interfaces ge-0/0/3
description To-R2D2;
mtu 8900;
unit 0 {
    family inet {
                address 182.75.1.67/30;
                }
    family iso;
    family mpls;
       }

Supersonic@C3PO> ping 182.75.1.68 count 3
PING 182.75.1.68 (182.75.1.68): 56 data bytes
64 bytes from 182.75.1.68: icmp_seq=0 ttl=64 time=2.507 ms
64 bytes from 182.75.1.68: icmp_seq=0 ttl=64 time=2.204 ms
64 bytes from 182.75.1.68: icmp_seq=1 ttl=64 time=1.316 ms
--- 182.75.1.68 ping statistics ---
2 packets transmitted, 2 packets received, 0% packet loss
round-trip min/avg/max/stddev = 1.316/1.912/2.507/0.596 ms

Supersonic@C3PO> ssh root@182.75.1.68 source 182.75.0.47 (o source deve ser o endereço de loopback)

Supersonic@C3PO> show configuration | display set | match lo0
set interfaces lo0 unit 0 family inet filter input router-protect-simplified
set interfaces lo0 unit 0 family inet address 182.75.0.47/32
set interfaces lo0 unit 0 family iso address 49.0001.2001.8500.0047.00
set protocols isis interface lo0.0 level 1 disable
set protocols ldp interface lo0.0

root@182.75.1.68's password:
--- JUNOS 12.1X44-D35.5 built 2014-05-19 21:36:43 UTC

root@R2D2% cli

root@R2D2> show interfaces ge-0/0/1 descriptions
ge-0/0/1        up    up   L2L VIVO TO-C3PO

root@R2D2> show interfaces ge-0/0/1
root@R2D2> show configuration interfaces ge-0/0/1
description L2L VIVO TO-C3PO;
mtu 8900;
unit 0 {
    family inet {
                address 182.75.1.68/30;
                }
    family iso;
    family mpls;
       }

root@R2D2> ping 182.75.1.67 count 5 rapid
PING 182.75.1.67 (182.75.1.67): 56 data bytes
.....
--- 182.75.1.67 ping statistics ---
5 packets transmitted, 0 packets received, 100% packet loss

Troubleshooting

Nota

Coletar evidências - pontos principais

  • Logs

  • show interface ge-X/Y/Z

  • show bfd session brief

  • show isis adjacency

  • testes de ping

Nota

Complementos da análise

  • tabela arp

  • show bfd session brief

  • show isis adjacency

Validar o roteamento entre o router astronauta008 e router magali006 171.28.1.210 (Elemento ROTEAMENTO ISIS PEER):

manuela@astronauta008> show interfaces ge-1/1/9
Physical interface: ge-1/1/9, Enabled, Physical link is Up
  Interface index: 159, SNMP ifIndex: 535
  Description: L2L CenturyLink Boston TO-magaliO06 ge-0/0/2
  Link-level type: Ethernet, MTU: 2000, Speed: 1000mbps, BPDU Error: None, MAC-REWRITE Error: None, Loopback: Disabled, Source
  filtering: Disabled, Flow control: Enabled, Auto-negotiation: Enabled, Remote fault: Online
  Device flags   : Present Running
  Interface flags: SNMP-Traps Internal: 0x0
  Link flags     : None
  CoS queues     : 8 supported, 8 maximum usable queues
  Current address: 88:e0:f3:7f:39:81, Hardware address: 88:e0:f3:7f:39:81
  Last flapped   : 2019-11-13 22:36:25 ART (28w0d 11:25 ago)
  Input rate     : 256 bps (0 pps)
  Output rate    : 0 bps (0 pps)
  Active alarms  : None
  Active defects : None
  Interface transmit statistics: Disabled

  Logical interface ge-1/1/9.0 (Index 328) (SNMP ifIndex 567)
    Flags: SNMP-Traps 0x0 Encapsulation: ENET2
    Input packets : 18648522681
    Output packets: 23471212317
    Protocol inet, MTU: 1986
      Flags: Sendbcast-pkt-to-re
      Addresses, Flags: Is-Preferred Is-Primary
        Destination: 171.28.1.208/30, Local: 171.28.1.209, Broadcast: 171.28.1.211
    Protocol iso, MTU: 1983
    Protocol mpls, MTU: 1974, Maximum labels: 3
    Protocol multiservice, MTU: Unlimited

manuela@astronauta008>
manuela@astronauta008> show configuration | display set | match ge-1/1/9
set interfaces ge-1/1/9 description "L2L CenturyLink Boston TO-magaliO06 ge-0/0/2"
set interfaces ge-1/1/9 mtu 2000
set interfaces ge-1/1/9 gigether-options auto-negotiation
set interfaces ge-1/1/9 unit 0 family inet address 171.28.1.209/30
set interfaces ge-1/1/9 unit 0 family iso
set interfaces ge-1/1/9 unit 0 family mpls
set protocols rsvp interface ge-1/1/9.0 hello-interval 0
set protocols mpls interface ge-1/1/9.0
set protocols isis interface ge-1/1/9.0 point-to-point
set protocols isis interface ge-1/1/9.0 bfd-liveness-detection minimum-interval 1000
set protocols isis interface ge-1/1/9.0 bfd-liveness-detection minimum-receive-interval 1000
set protocols isis interface ge-1/1/9.0 bfd-liveness-detection multiplier 3
set protocols isis interface ge-1/1/9.0 level 1 disable
set protocols ldp interface ge-1/1/9.0

manuela@astronauta008>
manuela@astronauta008> show arp no-resolve | match 171.28.1.
88:e0:f3:7f:37:79 171.28.1.54     ge-1/1/3.0           none
88:e0:f3:7f:44:7f 171.28.1.57     ge-1/1/5.0           none
b8:c2:53:f4:e7:66 171.28.1.177    ge-1/1/4.0           none
88:a2:5e:64:07:71 171.28.1.202    ge-1/1/8.0           none

manuela@astronauta008>
manuela@astronauta008> ping no-resolve 171.28.1.210 source 171.28.1.209
PING 171.28.1.210 (171.28.1.210): 56 data bytes
^C
--- 171.28.1.210 ping statistics ---
8 packets transmitted, 0 packets received, 100% packet loss

manuela@astronauta008>
manuela@astronauta008> ping no-resolve 171.28.1.210 source 171.28.1.209 rapid
PING 171.28.1.210 (171.28.1.210): 56 data bytes
.....
--- 171.28.1.210 ping statistics ---
5 packets transmitted, 0 packets received, 100% packet loss

manuela@astronauta008>
manuela@astronauta008> show bfd session brief
                                                  Detect   Transmit
Address                  State     Interface      Time     Interval  Multiplier
171.28.1.177             Up        ge-1/1/4.0     3.000     1.000        3
171.28.1.202             Up        ge-1/1/8.0     3.000     1.000        3
31.13.75.94              Up        ge-1/0/6.0     3.000     1.000        3
31.13.75.109             Up        ge-1/0/4.0     3.000     1.000        3
31.13.3.21               Up        ge-1/1/7.0     3.000     1.000        3
31.13.3.146              Up        ge-1/0/1.0     3.000     1.000        3
31.13.3.242              Up        ge-1/0/2.0     3.000     1.000        3

7 sessions, 7 clients
Cumulative transmit rate 7.0 pps, cumulative receive rate 7.0 pps

manuela@astronauta008>
manuela@astronauta008> show isis adjacency
Interface             System         L State        Hold (secs) SNPA
ge-1/0/1.0            Daihatsu015       2  Up                   19
ge-1/0/2.0            Acura035          2  Up                   20
ge-1/0/4.0            Datsun054         2  Up                   20
ge-1/0/6.0            Infiniti025       2  Up                   22
ge-1/1/1.993          Isuzu105          2  Up                   20
ge-1/1/3.0            Lexus042          2  Up                   24  88:e0:f3:7f:37:79
ge-1/1/4.0            Toyota058         2  Up                   26
ge-1/1/5.0            Nissan027         2  Up                    6  88:e0:f3:7f:44:7f
ge-1/1/7.0            Honda056          2  Up                   21
ge-1/1/8.0            Mitsubishi063     2  Up                   21

manuela@astronauta008>
manuela@astronauta008> exit

Mais comandos úteis para verificação

Verificar tempo de operação do equipamento:

Atom@R2D2> show system uptime

Verificar usuários logados:

Atom@R2D2> show system users

Verificar armazenamento de dados local:

Atom@R2D2> show system storage

Verificar a tabela de processos em execução:

Atom@R2D2> show system processes

Verificar componentes de hardware instalados:

Atom@R2D2> show chassis hardware

Verificar status dos componentes e temperatura, e velocidades do sistema de refrigeração:

Atom@R2D2> show chassis environment

Verificar status da routing engine:

Atom@R2D2> show chassis routing-engine

Verificar alarmes de alertas no equipamento:

Atom@R2D2> show chassis alarms

Versão do Junos OS que esta rodando no equipamento. Também exibe o host name e o modelo do dispositivo:

Atom@R2D2> show version

Verificar logs relacionados aos alarmes do hardware:

Atom@R2D2> show log chassisd | no-more

Verificar mensagens de log:

Atom@R2D2> show log messages | no-more

Verificar histórico de login dos usuários:

Atom@R2D2> show log user

Verificar a configuração atual:

Atom@R2D2> show configuration

Breve descrição sobre o status das interfaces:

Atom@R2D2> show interfaces terse

Atom@R2D2> run show interfaces ge-0/0/1.0 terse

Descrição sobre uma interface:

Atom@R2D2> show interfaces interface-name

Descrição detalhada sobre uma interface:

Atom@R2D2> show interface interface-name extensive

Reinicia as estatísticas de uma interface:

Atom@R2D2> clear interfaces statistics interface-name

Breve descrição sobre o estado do protocolo:

Atom@R2D2> show bgp summary

Breve descrição sobre o estado do protocolo:

Atom@R2D2> show ospf overview

Breve descrição sobre o estado do protocolo:

Atom@R2D2> show isis overview

Descrição detalhada sobre uma rota específica:

Atom@R2D2> show route 216.142.248.0 extensive

Descrição sobre uma rota específica:

Atom@R2D2> show route 192.168.68.0/24

Descrição da tabela de rotas:

Atom@R2D2> show route terse

ENABLE / DISABLE INTERFACE IN JUNIPER:

Atom@R2D2# set interfaces ge-0/0/1.0 disable  (This is cisco equivalent of **shutdown**)
Atom@R2D2# delete interfaces ge-0/0/1.0 disable (This is cisco equivalent of **no shutdown**)
Atom@R2D2# run show ge-0/0/1.0
Atom@R2D2# run show interfaces ge-0/0/1.0 terse