No momento, você está visualizando 25 | Anotações JNCIA

25 | Anotações JNCIA

Estive estudando para a certificação JNCIA – 2025, através do curso disponível no Juniper Learning Portal
Neste post, reunirei minhas anotações dos módulos do curso, focando nos comandos, seus significados e aplicação prática da teoria passada no curso. O objetivo é manter um registro simples e direto, sem aprofundamentos excessivos.

OBS: O voucher é apenas para a prova online e ao fazer o exame do curso, tem até 30 dias para fazer a prova. Então faça o exame quando tiver tempo e dinheiro.

A prova são 65 questões e é necessário acertar 63% para aprovação

https://www.juniper.net/br/pt/training/certification/tracks/junos/jncia-junos.html

Outra ótima fonte de estudo é o JNCIA Study Guide Part 1 e 2 que pode ser encontrado na internet.

Junos OS

  • Sistema operacional dos dispositivos de rede da Juniper
  • Roda em todos os equipamentos: roteadores, switchs e firewalls, desde pequenos a roteadores de datacenter
  • Praticamente todo o sistema é igual para os dispositivos, com algumas pequenas mudanças a depender da plataforma (Algumas builds são especificas de cada plataforma)
  • Recursos novos são consistentes em atualizações maiores

É possivel gerenciar os dispositivos com:

  • CLI
  • WEB (algumas plataformas, como firewall)
  • Linguagem de programação (Off-Box Scripts. Ex: Python, com a biblioteca criada pela Juniper, PyEZ)
  • Controladores externos (Plataformas da Juniper: Mist, Apstra | API ou Ansible para plataformas de terceiros)
  • Codigos (On-Box Scripts – scripts salvos na caixa e rodando automaticamente)

O Junos é voltado e incentivado para automação, oferecendo recursos de graça para isso.

Versões de Releases

Exemplo: 22.4R1.10

22: Ano

22.4: Major release

R1: Feature release (+bugs fixes) | R2,R3,RX | Maintence Release (MR – bug fixes basicamente) | S1, S2, SX: Service release (SR – lançado antes do MR para corrigir bugs criticos ou caso especificos de usos de clientes)

10: Numero interno da build

Hoje em dia, a Juniper lança duas Major Releases por ano.

Dispositivos que rodam Junos

Duas categorias: Fixed-port Devices e Modular Devices

Roteadores

Fixed-Ports: Chassis que já tem uma quantidade exata de portas de fabrica. Exemplo: MX204

MX204

4 portas QSFP (100GB)

8 portas SFP+ (10GB)

Portas de gerência outbound e console

Modular Devices: Chassis que ja tem algumas portas mas é possivel adicionar slots (line cards). Exemplo: MX480

MX480

Sendo possivel customizar com slots de quantidades de portas dependendo da necessidade

Line Cards

Possui tipos: Line Card de interfaces de redes e Routing Engine (o cerebro da caixa)

Line Card de interfaces de redes:

  • Podem ser slots de trafego, recursos de segurança etc.
  • Cada line card tem um numero e será refletido no CLI
  • Tambem possui um Line Card CPU (para comunicar com o RE e gerenciar o PFE)

Line Card de Routing Engine:

FPC e PIC

FPC = Flexible PIC Concentrator (o line card em si)
PIC = Physical Interface Card

Produtos Juniper

Roteadores:

  • MX (faz muita coisa, bastante usado em bordas ou como BNG/BRAS)
  • PTX (mais focado em encaminhamento (extremamente rápido), e usado em redes grandes, mais utilizado no CORE da rede)
  • ACX (mais usado no endpoint, tem varios tipos de conexões fisicas para concentrar os links)

Firewalls:

  • SRX (hardware dedicado para filtragem de trafego e firewall de proxima geração)
    • Equipamento integrado com ATP (anti-malware, traffic insights, threat profing e DNS security)

Switches:

  • EX
  • QFX

Wireless

Virtual:

  • Imagens para virtualização (pode ser usado em cloud, Virtual labs (EVE, GNS3, PNETLAB)

MistAI

Poderosa plataforma de gerênciamento de dispositivos da Juniper (usado bastante em Switches EX)

Oferece:

  • Visibilidade, controle e automação
  • Aprende e monitora o trafego de rede
  • GUI
  • Templates
  • AI (machine learning)
  • Arruma problemas antes de sabermos que existem (VLANS, WIFI, Portas problematicas etc)
  • Assistente virtual de rede (Marvis) – Pode monitorar, controlar e manter a rede (LAN, WAN,SD-WAN e WIRELESS)

Arquitetura do Junos OS

De forma resumida, a arquitetura do Junos é modular, ou seja, um processo não interfere em outro (memória protegida). Também o plano de controle é separado do plano de encaminhamento.

Routing Engine (Plano de controle) – RE

É a CPU da caixa. x86 based

Lida com:

  • Junos OS em si
  • Monitoramento, gerenciamento, processos, sistema, chassis, protocolos etc
  • Gerência do PFE
  • Manutenção das tabelas de roteamento (RIB) e de encaminhamento (FIB)
  • Responde ping e traceroute (exceptions traffic)

Em termos de roteamento e encaminhamento, o RE fica responsável em escolher as rotas ativas (melhores rotas para os prefixos), instalar na tabela de encaminhamento e escrever no hardware dedicado de encaminhamento

A tabela de encaminhamento só tem as informações necessárias para realizar a tarefa.

  • Interface de saida
  • IP e MAC do proximo salto
  • Type (dest, intf, perm, user) | dest = remoto, intf = instalado, perm = permanente, user = criado por protocolo de roteamento/usuario
  • Types Next-hop (unicast, discard, broadcast etc)

RIB

root@ROUTER_2> show route 

FIB

root@ROUTER_2> show route forwarding-table

Verificar informações de CPU, memoria, etc

raimon> show chassis routing-engine 

Packet Forwarding Engine (Plano de encaminhamento) – PFE

Conjunto de hardware dedicado para encaminhamento de pacotes.

É um chip chamado ASIC (Application-specific Integrated Circuit)

Tipos:

Express chip – PTX
Trio Chip – MX

Cada ASICs tem sua propria copia da FIB

Tarefas:

  • Encaminhar tráfego
  • Manipular pacotes (Cabeçalho Ethernet, Tags de VLAN, decrementar TTL e Hop-Limit)
  • Controlar serviços que impactam trafego (rate-limiting, firewall filters, priorização de tráfego etc)
  • Reportar contador de tráfego para o RE
  • Enviar as exceptions traffic para o RE

Separação dos Planos

A Juniper é pioneira nesse tipo de arquitetura

Vantagens:

  • Se o RE crashar, o PFE continha encaminhando tráfego
  • Cada hardware pode ser otimizado para realizar suas tarefas
  • Cada hardware pode ser atualizado independentemente um do outro
  • O Junos adiciona rate-limiting e Proteção de DDoS no link interno entre RE e PFE (tem preferência com congestionamentos)

Exception Traffic

Todo trafego que é destinado a caixa (host-inbound) ou da caixa para outro destino (host-outbound)

Exemplo:

  • SSH/Telnet
  • Ping/Traceroute
  • Mensagens de protocolos (OSPF, BGP etc)
  • ARP/NDP
  • SNMP
  • Pacotes IP com IP Options
  • Trafegos que requerem mensagens ICMP

Pórem, alguns exceptions traffic pode ser processado pelo Line Card CPU ao inves de enviar para o RE, como por exemplo Time Exceeded ou mensagens de erro ICMP em geral

O que não é exceptions traffic:

Pacotes de transito (pacotes destinados a outros destinos ou processado apenas pelo PFE)

Pacotes de controle interno (pacotes de controle entre o RE e Line Card CPU do PFE)

FreeBSD e Evolved

O Junos roda em cima do FreeBSD

2017 usava o freebsd 11
2021 em diante usa o freebsd 12

Para atualizar o Junos as vezes precisa também atualizar o FreeBSD

Para acessar enquanto está no modo de operação:

root@ROUTER_2> start shell

Daemons

São os processos que rodam no sistema e são responsáveis por varios recursos da caixa.

routing, chassis, interfaces, management, snmp

rpd = daemon de roteamento
Controla o roteamento, mantém as tabelas de roteamento, determina as rotas ativas e as instala na cópia da tabela de encaminhamento da RE (Routing Engine).

mgd = daemon de gerenciamento
Controla o gerenciamento, atuando como interface entre os métodos de acesso (CLI, scripts etc.).

dcd = daemon de controle do dispositivo
Envia a configuração das interfaces físicas para as portas.

chassid = daemon do chassi
Controla o chassi, alarmes, fonte de alimentação elétrica, ventoinhas etc. Monitora a integridade do hardware, banco de dados de inventário, LEDs etc.

ppmd = daemon de gerenciamento periódico de pacotes
Permite que a CPU da Line Card (PFE – Packet Forwarding Engine) execute certas tarefas no lugar da RE.
Exemplos: pacotes OSPF hello, BPDUs, LACP, BFD etc.

Junos Evolved (EVO)

É o sistema rodando em cima de Linux, pode rodar num whitebox, integrar com apps de terceiros.

No EVO cada função são como aplicativos e não daemons

Utiliza banco de dados distribuido

CLI

Baseado em hierarquias
Na verdade ao dar comandos no CLI, estamos usando a API XML para interagir com os processos e usa também o RPC (Remote Procedure Call)

Exemplo de hierarquias:

  • system
  • chassis
  • interfaces
  • protocols

Diferente de alguns fabricantes, as configurações feitas no CLI da Juniper é tornada ativa apenas mediante commit. Sendo uma vantagem para avaliar a configuração feita, e reverte-la caso necessário uma vez feito o commit (rollback).

O Junos salva as ultimas 49 configurações realizadas (commitadas), sendo a config 0 a ativa no momento

Modos de operação: Operacional mode e Configuration mode

Operacional mode:
O que é possivel fazer

Comandos mais utilizados nesse modo: SHOW | MONITOR | CLEAR | REQUEST

Comandos uteis de show system:

root@ROUTER> show system information 
Model: vmx
Family: junos
Junos: 21.1R1.11
Hostname: ROUTER

root@ROUTER> show system uptime 
Current time: 2025-04-01 13:40:49 BRT
Time Source:  LOCAL CLOCK 
System booted: 2025-03-26 21:48:35 BRT (5d 15:52 ago)
Protocols started: 2025-03-26 21:52:18 BRT (5d 15:48 ago)
Last configured: 2025-04-01 13:40:41 BRT (00:00:08 ago) by root
 1:40PM  up 5 days, 15:52, 1 users, load averages: 0.59, 0.40, 0.38

root@ROUTER> show version and haiku (gera uma frase no final do output)
Hostname: ROUTER
Model: vmx
Junos: 21.1R1.11
JUNOS OS Kernel 64-bit  [20210308.e5f5942_builder_stable_11]
JUNOS OS libs [20210308.e5f5942_builder_stable_11]
...

        Another day dies                
        More joy than I can fathom
        Yet more tomorrow

Outros: show chassis hardware | show interfaces | show route

Output com pipeline

  • match (mostra apenas textos que tenham o padrão definido)
  • except (mostra apenas textos que não tenham o padrão definido)
  • count (mostra a quantidade de linhas)
  • find (mostra a primeira ocorrência do padrão definido)

Ex: show XXXXXX | match PADRÃO

root@ROUTER> show interfaces terse | match down 
ge-0/0/1                up    down
ge-0/0/1.16386          up    down

root@ROUTER> show configuration | match "description|address"     
        description INTERNET;
                address 172.16.10.254/24;

root@ROUTER> show interfaces terse | except down   
Interface               Admin Link Proto    Local                 Remote
ge-0/0/0                up    up
ge-0/0/0.0              up    up   inet     10.0.137.248/24 

root@ROUTER> show interfaces terse | count          
Count: 86 lines

root@ROUTER> show configuration | display set | find INTERNET    
set interfaces ge-0/0/0 description INTERNET

Dica: As vezes no CLI alguns comandos ficarão omitidos por conta dos numeros de caracteres. É possivel aumentar usando o seguinte comando no modo operacional (apenas válido para a sessão atual):

root@ROUTER-01> set cli screen-width 1000 
Screen width set to 1000

O padrão é 80, o máximo é 1024

mais em: https://www.juniper.net/documentation/us/en/software/junos/cli/topics/topic-map/getting-started.html

Lendo configurações do Junos

Duas formas comuns de verificar configurações no Junos são:

  • Hierarchy View – Modo padrão. (mostra de forma identada e é melhor para visualizar configurações complicadas)
root@ROUTER> show configuration interfaces 
apply-groups DESCRIPTION-INTERFACES;
ge-0/0/0 {
    description INTERNET;
    unit 0 {
        family inet {
            dhcp;
            filter {
                output FW;
            }
        }
    }
  • Set View (mostra na forma que foi feito a configuração)
root@ROUTER> show configuration interfaces | display set 
set interfaces apply-groups DESCRIPTION-INTERFACES
set interfaces ge-0/0/0 description INTERNET
set interfaces ge-0/0/0 unit 0 family inet dhcp
set interfaces ge-0/0/0 unit 0 family inet filter output FW

Configurando o Junos

Junos verifica a sintaxe e rejeita erros

Para salvar as configurações realizadas, precisa fazer o commit

  • Ao criar uma configuração, ela fica salva numa localização chamada candidate configuration, após commitar, ela vai para a active configuration.

O Junos mantem as 49 configurações feitas anteriormente

Para visualizar e comparar:

root@ROUTER-01> show system commit 
0   2025-04-06 10:20:50 BRT by root via cli
1   2025-04-06 10:19:54 BRT by root via cli

root@ROUTER-01> show configuration | compare rollback 9    
[edit]
+ groups {
+     DESCRIPTION-INTERFACES {

Modo de configuração:

  • Adicionar/Deletar configuração
  • Mudar/Renomear coisas
  • Mover/Copiar coisas
  • Desativar coisas
  • Usar “run” para rodar comandos do operational mode

Outros tipos de commits:

  • commit check (verificar a sintaxe/possiveis problemas antes de realizar o commit de fato)
  • commit and-quit (commitar e sair do modo configuração)
  • commit confirmed X (para salvar gasolina, commitar e desfazer após X minutos caso nao realize o commit novamente para aplicar de fato)
  • commit comment “TEXTO” (adicionar um comentário ao commit)
  • commit at “2025-04-06 18:00:00”

Para entrar no modo de configuração, basta digitar edit ou configure

root@ROUTER> edit 
Entering configuration mode

root@ROUTER> configure 
Entering configuration mode

Exemplo de configuração e verificação do que foi feito (compare)

[edit]
root@ROUTER# set system host-name ROUTER-01 

[edit]
root@ROUTER# show | compare 
[edit system]
-  host-name ROUTER;
+  host-name ROUTER-01;

[edit]
root@ROUTER# commit comment "mudando o nome do roteador"
commit complete

Para desfazer o que foi feito no candidate configuration, basta usar o comando rollback que irá copiar o active configuration para o candidate.

[edit]
root@ROUTER-01# set system host-name TESTE 

[edit]
root@ROUTER-01# show | compare 
[edit system]
-  host-name ROUTER-01;
+  host-name TESTE;

[edit]
root@ROUTER-01# rollback 
load complete

[edit]
root@ROUTER-01# show | compare 

[edit]
root@ROUTER-01# 

Para desfazer uma configuração antiga e as outras subsequentes

[edit]
root@ROUTER-01# rollback 9 
load complete

[edit]
root@ROUTER-01# show | compare 
[edit groups]
-  DESCRIPTION-INTERFACES {

Dependendo do comando, o set pode adicionar ou modificar configurações

Comando Delete

Apaga configurações, porém ele é hierarquico.

Comandos disable/deactivate (e activate)

disable

Útil para desabilitar interfaces e protocolos

[edit]
root@ROUTER-01# set interfaces ge-0/0/0 disable
[edit]
root@ROUTER-01# set protocols ospf disable

deactivate/activate

O Junos não vai processar configurações que estejam como deactivate

[edit]
root@ROUTER-01# deactivate firewall filter FW 

[edit]
root@ROUTER-01# activate firewall filter FW 

Comando Rename/Replace Pattern

Alterar configurações diretamente:

[edit]
root@ROUTER-01# show | display set | match lo0     
set interfaces lo0 unit 0 family inet address 10.1.1.1/32

[edit]
root@ROUTER-01# rename interfaces lo0.0 family inet address 10.1.1.1/32 to address 10.2.2.2/32    

Replace Pattern (muda TUDO que encontrar com o padrão especificado)

[edit]
root@ROUTER-01# replace pattern ge-0/0/0 with ge-0/0/1

Outros modos de candidate configuration:

configure exclusive

  • Outros usuarios podem entrar no modo config porém não podem aplicar mudanças
  • Ao sair sem commitar, as configurações feitas são descartadas, diferente do modo normal que mantem ainda no candidate

configure private

  • Cria uma copia unica da candidate configuration
  • Multiplos usuarios podem configurar diferentes hierarquias ao mesmo tempo
  • Os candidates configuration são temporários e mudanças sem commits são perdidas ao sair do modo
  • Tem avisos para evitar conflitos
  • Só é possivel commitar no top level ([edit])

Configurando dentro de hierarquia (usando comando edit)

[edit]
root@ROUTER-01# edit firewall filter FW 

[edit firewall filter FW]
root@ROUTER-01# set term BLOCK_GAMING then reject 

Entrando e saindo de hierarquias

[edit firewall filter FW]
root@ROUTER-01# edit term BLOCK_GAMING    

[edit firewall filter FW term BLOCK_GAMING]
root@ROUTER-01# up 

[edit firewall filter FW]
root@ROUTER-01# exit 

[edit]
root@ROUTER-01# 

Omitir saida de configurações no show configuration (modo hierarquia)

apply-flags omit (comando escondido, nao completa com TAB)

set routing-options apply-flags omit

Para mostra: digitando a hierarquia toda ou displays

show configuration routing-options
show configuration | display omit
show configuration | display set

Proteger configuração contra alterações

[edit]
root# protect routing-options    

[edit]
root# show routing-options       
##
## protect: routing-options
##
router-id 10.1.1.1;

unprotect para desfazer

Anotar mensagens em configurações

[edit]
root# annotate routing-options "NAO ALTERAR"

root> show configuration
/* NAO ALTERAR */
routing-options {
    router-id 10.1.1.1;
}

Arquivos

Salvar saidas em arquivos (txt por exemplo)

raimon> show interfaces terse | save INTERFACES.txt  
Wrote 69 lines of output to 'INTERFACES.txt'

raimon> file show INTERFACES.txt                       
Interface               Admin Link Proto    Local                 Remote
ge-0/0/0                up    up

Mostrar arquivos no diretório do usuário:

raimon> file list 

/var/home/raimon/:
INTERFACES.txt

Comparar configuração com arquivos é so usar o | compare NOME-ARQUIVO

Comparar configurações em 2 arquivos diferentes

raimon> file compare files ROUTER-ID1.txt ROUTER-ID2.txt         
1c1
< router-id 10.1.1.1;
---
> router-id 10.2.2.2;

< – primeiro arquivo | > – segundo arquivo

Numeros de linhas: a – adição, c – mudança, d – subtração

Adicionar saida no final de um arquivo

raimon> show ospf neighbor | append OSPF_NEI.txt

Enviando e recebendo arquivos via FTP/SCP

Carregando configurações

Colando configuração hierarquica (CTRL+D para terminar)

[edit]
raimon# load override terminal 
[Type ^D at a new line to end input]

Esse comando substitui todas as configurações candidatas atuais

Para juntar configurações (algumas configs são substituidas e outras adicionadas)

[edit]
raimon# load merge terminal [relative]

A opção relative é para uma configuração mais profunda na hierarquia

Também é possivel carregar configurações de arquivos: no lugar de terminal, coloca-se o nome do arquivo

Colando configuração SET

[edit]
raimon# load set terminal 
[Type ^D at a new line to end input]

Enviar configurações automaticamente para servidor externo

Configurações automáticas para hierarquias

Usando groups é possivel definir configurações que replica para todas as interfaces, conforme exemplo acima

Para visualizar, deve-se usar o display inheritance

Para uma interface que não quer essa mudança basta colocar o comando apply-groups-except

Configuração de Ranges

Apagando muitas configurações de vez usando Wildcard delete

Administração do Dispositivo

Management Interface

Separar trafego de usuario com o de gerencia da CX

Interface MGMT Outbound
fxp0 – MX ou me0 (copper port – Switches) | re0:mgmt-0 – PTX
Adiciona IP igual outras interfaces

Configurar Hora e Data

Manual

{master:0}[edit]
root@vqfx-re# set system time-zone America/Sao_Paulo 

{master:0}
root@vqfx-re> set date 202504130120

No modo de operação, formato: YYYYMMDDHHMM

Usando NTP

{master:0}[edit]
root@vqfx-re# set system ntp server X.X.X.X

{master:0}
root@vqfx-re> show ntp associations 

DNS

{master:0}[edit]
root@vqfx-re# set system name-server XX.X.X.X

Usuários

{master:0}[edit]
root@vqfx-re# set system login user TESTE class super-user authentication plain-text-password

Junos usa como criptografia o SHA512 (começa com $6$)

Permissões

CATEGORIAS – FLAGS

ALL – permissão total
clear – usar o clear
configure – entrar em modo config e commitar
network – pingar, tracetear, ssh e telnet
view – visualizar

Classes

SUPER-USER usa a categoria ALL

UNAUTHORIZED – Não faz nada no equipamento, pode ser usado pra novos empregados mas que ainda não vai logar, limitar autenticação

OPERATOR – clear, view, network, reset, trace

READ-ONLY

Criar classes customizadas

[edit]
raimon# set system login class TESTE permissions [ clear network view] 
[edit]
raimon# set system login class TESTE allow-commands "(configure private)" 
[edit]
raimon# set system login class TESTE deny-commands "(file)"  
[edit]
raimon# set system login class TESTE allow-configurations "(interfaces) | (firewall)" 
[edit]
raimon# set system login class TESTE deny-configuration "(groups)"  
[edit]
raimon# set system login class TESTE idle-timeout 5   

Ordem de processamento

Acesso WEB (J-Web)

Mais usado nos SRX SERIES

set system services web-management http ou https system-generated-certificate

RADIUS | TACACS+

[edit]
raimon# set system radius-server 10.1.10.1 secret test 

[edit]
raimon# set system tacplus-server 10.1.10.2 secret test  

[edit]
raimon# set system authentication-order [ radius tacplus password ]

password = senha local na caixa

Mesmo sem configurar o password, se os servidores estiverem off, o Junos verifica os usuarios locais

Provisionando um novo dispositivo Junos

Cada plataforma vem com configs default diferentes. SWS vem na preconfig com RSTP. Alguns roteadores/firewall vem sem IP, mas o SRX vem com um IP configurado na LAN.

Porta console

  • 8p8c port
  • RS-232 protocolo
  • 9600 (speed)

O Amnesiac significa que o dispositivo ainda não tem um hostname

Configuração mandatória: Configurar uma senha para o usuário root

{master:0}[edit]
root@vqfx-re# set system root-authentication plain-text-password 
  • Recomendações de primeira configurações para um dispositivo novo:
  • Configurar pelo menos um usuário
  • Definir um hostname
  • Habilitar SSH
  • Definir Data e horário
  • Configura uma interface para gerência

EX: Habilitando SSH pro root no QFX

{master:0}[edit]
root@vqfx-re# set system services ssh root-login allow    

Banner

\n = Quebra de linha

{master:0}[edit]
root@vqfx-re# set system login message "MENSAGEM ANTES DE LOGAR" 

{master:0}[edit]
root@vqfx-re# set system login announcement "ISSO AI\nLOGOU COM SUCESSO" 

Configuração de fábrica

{master:0}[edit]
root@vqfx-re# load factory-default 

{master:0}[edit]
root@vqfx-re# show | compare    
+   commit {
+       factory-settings {

É possivel deletar seções

{master:0}[edit]
root@vqfx-re# delete system commit factory-settings 

Configuração de Resgate

É possivel criar uma configuração de resgate (snapshot) para poder dar rollback sempre que puder, já que o Junos salva apenas as ultimas 49 alterações

{master:0}
root@vqfx-re> request system configuration rescue save 

{master:0}[edit]
root@vqfx-re# rollback rescue

Reiniciar e Desligar o dispositivo

Reiniciar

{master:0}
root@vqfx-re> request system reboot

Desligar o Junos (e depois pessoalmente desligar o hardware)

{master:0}
root@vqfx-re> request system halt

Desligar o Junos remotamente

{master:0}
root@vqfx-re> request system power-off

Provisionamento Zero-Touch

É possivel enviar configurações para configurar de forma autonôma um dispositivo Junos. Usando para isso ZTP Server, Junos Image Server e Config Server.

O ZTP utiliza DHCP para fazer requisição de configuração ou atualização de software, se aproveitando o DHCP Options para fornecer as informações necessárias.

Recuperando a senha do root

É possivel resetar a senha do root, porém envolve acessar via porta Console, rebootar a caixa e apertar combinações de teclas para interromper o boot

Mais em: https://www.juniper.net/documentation/us/en/software/junos/user-access/topics/topic-map/recovering-root-password.html

Gestão de Usuários

Visualizar usuários logados

raimon> show system users  

Derrubar um usuário logado

raimon> request system logout user teste

Interfaces de rede

Nomes das interfaces físicas

  • fe (fast)
  • ge (gigabit)
  • xe (ten gigabit)
  • et (40 gigabit +)
  • ae (LAG)

Exemplo:

xe-4/2/0 | 4 é o line card, 2 pode ser a interface dentro do line card ou uma sessão específica do line card, 0 é o numero da porta em si.

A nomenclatura das interfaces é consistente em todos os equipamentos da Juniper, facilitando scripts etc.

Comando úteis:

extensive

Outro:

show interface descriptions

Para configurar questões de Speed, Duplex, L2 MTU é feito direto na interface. Exemplo: xe-4/2/0

Algumas saidas do show foram omitidas

root@ROUTER# set interfaces ge-0/0/0 speed 1g 
root@ROUTER# set interfaces ge-0/0/0 link-mode full-duplex
root@ROUTER# set interfaces ge-0/0/0 mtu 9000

root@ROUTER> show interfaces ge-0/0/0              
Physical interface: ge-0/0/0, Enabled, Physical link is Up
  Description: INTERNET
  Link-level type: Ethernet, MTU: 1514, MRU: 1522, LAN-PHY mode,
  Speed: 1000mbps, BPDU Error: None, Loop Detect PDU Error: None,
  Current address: 50:1f:d5:00:8f:02, Hardware address: 50:1f:d5:00:8f:02
  Last flapped   : 2025-03-29 15:12:11 BRT (1w0d 18:16 ago)

Para configurações de protocolos, vlans, L3 MTU, é feito apenas nas interfaces lógicas. Exemplo: xe-4/2/0.0 (unit 0)

Algumas saidas do show foram omitidas

set interfaces ge-0/0/0.0 family inet address 10.1.10.1/30
set interfaces ge-0/0/0.0 family inet6 address fd10:1:10::1/126
set interfaces ge-0/0/0.0 family inet mtu 1500
set protocols ospf3 area 0.0.0.0 interface ge-0/0/0.0 interface-type p2p

root@ROUTER> show interfaces ge-0/0/2.0    
  Logical interface ge-0/0/0.0 (Index 332) (SNMP ifIndex 547)
    Protocol inet, MTU: 1500
      Addresses, Flags: Is-Preferred Is-Primary
        Destination: 10.0.137/24, Local: 10.0.137.248, Broadcast: 10.0.137.255

Toda interface sempre tem pelo menos 1 logical unit

Interface loopback (está sempre up e pode ser alcançada pela rede, quando divulgada no OSPF)

[edit]
root@ROUTER-01# set interfaces lo0.0 family inet address 10.1.1.1/32 
set interfaces lo0.0 family inet6.0 address fd10:1:1::1/32

Interfaces VLANS (multiplos logical units) – Router on a Stick

Atribui a propriedade de vlan tag direto na interface, depois cria os logical units e associando a vlan-id

set interfaces ge-0/0/3 vlan-tagging
set interfaces ge-0/0/3 unit 10 vlan-id 10
set interfaces ge-0/0/3 unit 20 vlan-id 20

Interface IRB (Integrated routing and bridging) – Mais utilizado Switch L3

{master:0}[edit]
root@SWITCH-01# set interfaces irb.10 family inet address 10.1.10.1/24 
{master:0}[edit]
root@SWITCH-01# set vlans Server l3-interface irb.10   

{master:0}
root@SWITCH-01> show interfaces terse irb

{master:0}
root@SWITCH-01> show vlans Server detail  

Preferred e Primary IP Address

Uma interface pode ter varios IP, qual será usado na saida de tráfego, dependerá da situação (destino)

Preferred = para definir o ip como origem do tráfego na mesma subnet

Primary = para definir o ip como origem do tráfego fora da subnet (por padrão o menor ip é selecionado)

Mas é possivel definir manualmente

LAG

Feito em 3 passos

[edit]
root@ROUTER-01# set chassis aggregated-devices ethernet device-count 1

[edit]
root@ROUTER-01# set interfaces ae0.0 family inet address 10.1.1.1/24 
[edit]
root@ROUTER-01# set interfaces ae0 aggregated-ether-options lacp active   

[edit]
root@ROUTER-01# set interfaces ge-0/0/4 gigether-options 802.3ad ae0 
[edit]
root@ROUTER-01# set interfaces ge-0/0/5 gigether-options 802.3ad ae0 

-----

root@ROUTER-01> show interfaces terse | match ae0 
ge-0/0/4.0              up    up aenet    --> ae0.0
ge-0/0/5.0              up    up aenet    --> ae0.0
ae0                     up    up
ae0.0                   up    up inet     10.1.1.1/24 

device-count 1 = ae0 | device-count 3 = ae0,ae1,ae2

LLDP

Podemos configurar LLDP nas interfaces para melhor identificação da topologia

{master:0}[edit]                        
root@vqfx-re# set protocols lldp interface all 

Roteamento

Preferência / Distância administrativa (para desempatar prefixos iguais de protocolos diferentes)

O menor valor é o mais preferivel

Diretamente conectado 0
Estático 5
OSPF 10
IS-IS 15
BGP 170

RIB = Routing information base (todas as opções de rotas)

FIB = Forwarding information base (as melhores rotas serão usadas aqui para encaminhamento)

Verificar tabela de roteamento

root@ROUTER-01> show route
...
root@ROUTER-01> show route table inet (apenas ipv4)

inet.0: 13 destinations, 13 routes (13 active, 0 holddown, 0 hidden)
+ = Active Route, - = Last Active, * = Both

0.0.0.0/0          *[Access-internal/12] 5d 03:08:07, metric 0
                    >  to 10.0.137.254 via ge-0/0/0.0
                                        
root@ROUTER-01> show route table inet6.0 (apenas ipv6)

inet6.0: 16 destinations, 16 routes (16 active, 0 holddown, 0 hidden)
+ = Active Route, - = Last Active, * = Both

2001:db8:0:10::/64 *[Direct/0] 5d 03:08:06
                    >  via ge-0/0/2.10

Rotas estáticas

IPv4 (rib inet.0 não obrigatório)

[edit]
root@ROUTER-01# set routing-options rib inet.0 static route 200.200.200.0/22 next-hop 10.5.5.5     

IPv6 (rib inet6.0 obrigatório)

[edit]
root@ROUTER-01# set routing-options rib inet6.0 static route 2001:db8:0:40::/64 next-hop 2001:db8:0:100::2

Rota estática de backup (hop secundário e aumentando a preferencia)

[edit]
root@ROUTER-01# set routing-options static route 0.0.0.0/0 qualified-next-hop 10.2.2.2 preference 7

Next-hop remoto (recursivo – Precisa ter OSPF/IS-IS na rede)

Podemos ver o metric2 que foi obtivo do OSPF (informativo apenas, não será usado para decisão de roteamento)

Roteamento Dinâmico

OSPFv2/v3 (mesma sintaxe)

[edit]
root@ROUTER-01# set routing-options router-id 10.1.1.1
set protocols ospf area 0.0.0.0 interface ge-0/0/3.0 interface-type p2p

set protocols ospf3 area 0.0.0.0 interface ge-0/0/2.10 passive

Routing Instances

Basicamente é a criação de tabelas de roteamento de forma virtual em que não se falam (podem ter os mesmos prefixos, sem conflitos)

[edit]
root@ROUTER-01# set routing-instances INSTANCIA-CLIENTE-A instance-type virtual-router 

[edit]
root@ROUTER-01# set routing-instances INSTANCIA-CLIENTE-A interface ge-0/0/6.0 

[edit]
root@ROUTER-01# set routing-instances INSTANCIA-CLIENTE-A routing-options static route 0/0 next-hop 10.50.50.1 

[edit]
root@ROUTER-01# run show route table INSTANCIA-CLIENTE-A.inet.0    

[edit]
root@ROUTER-01# run show interfaces terse routing-instance INSTANCIA-CLIENTE-A 

[edit]
root@ROUTER-01# run ping 10.1.1.1 routing-instance INSTANCIA-CLIENTE-A  

Switch

A Juniper possui 2 linhas de switchs. QFX e EX

Switch EX:

  • Versátil, tanto para pequenos escritórios quanto datacenters
  • Recursos como: Port Security, Protocolos de prevenção de loops, PoE, Virtual Chassis, MACsec, EVPN-VXLAN

Abaixo exemplo do EX4300

PIC 0 – exclusivo para portas de rede | PIC 2 – Pode ser usado para portas de rede ou usada em outra aplicação (Virtual Chassis)
PIC 1 – Portas de 40GB (fica atrás do equipamento)

Switch QFX:

  • Design voltado para datacenters e grandes empresas
  • Otimizado para protocolos L3, grande tabela MAC e de roteamento

Acessando sem IP

Porta MGMT

Verificando VLANS

{master:0}
root@vqfx-re> show vlans 

Routing instance        VLAN name             Tag          Interfaces
default-switch          Servers               10           xe-0/2/2.0*

O (*) significa que a interface está UP

Criando VLANS

Os nomes são Case-sensitive

{master:0}[edit]
root@vqfx-re# set vlans v20 vlan-id 20   
{master:0}[edit]
root@vqfx-re# commit 

{master:0}[edit]
root@vqfx-re# show vlans 
v20 {
    vlan-id 20;
}

O show mostra em ordem alfabetica e não por ID

Access Ports

set interfaces xe-0/0/2 unit 0 family ethernet-switching interface-mode access
set interfaces xe-0/0/2 unit 0 family ethernet-switching vlan members Servers

{master:0}[edit]
root@vqfx-re# show interfaces xe-0/0/2    
unit 0 {
    family ethernet-switching {
        interface-mode access;
        vlan {
            members Servers;
        }
    }
}

A configuração da VLAN na interface se da pelo nome e não pelo ID (Servers nesse caso é a vlan de ID 10)
Também notamos que é feito na unit 0 e não na interface em si

Verificar tabela MAC

{master:0}
root@vqfx-re> show ethernet-switching table 

Trunk Ports

Ao criar uma interface trunk, as vlans ficam bloqueadas por padrão essa interface. Para permitir é necessário adicionar explicitamente

set interfaces xe-0/0/1 unit 0 family ethernet-switching interface-mode trunk
set interfaces xe-0/0/1 unit 0 family ethernet-switching vlan members Servers
set interfaces xe-0/0/1 unit 0 family ethernet-switching vlan members Test

Outras formas

Logs, Troubleshoot e Monitoramento

O Junos possui 2 arquivos de syslogs por padrão, porém podemos criar quantos quisermos.

messages (eventos gerais do sistema) e interactive-commands (mostra os comandos dos usuarios no CLI)

raimon> show configuration system
syslog {
    file messages {
        any notice;
        authorization info;
    }
    file interactive-commands {
        interactive-commands any;
    }
}

Podemos ter logs com base:

  • Facility: kernel, usuario, autorização etc
  • Nivel de severidades: 7 niveis + any
  • Destino dos logs: local, servidor externo ou CLI

Alguns logs é melhor entendido usando sistemas de monitoramento (SNMP)

Quando o arquivo de log fica cheio, o Junos compacta em .gz

Algumas plataformas tem o limite de 128KB de logs e outros de 5MB

Logs Facility (abaixo não tem todas)

any = todos

Nive de severidade de logs

Criando um arquivo de logs

Fica salvo em /var/log

world-readable = todos os usuarios podem ler

Visualizar logs em tempo real

raimon> monitor start messages [ou arquivo]

monitor stop

Decifrando mensagens de logs

Alguns logs possuem codigos e é possivel usar o comando abaixo para entender melhor do que se trata

raimon> help syslog RPD_BGP_NEIGHBOR_GSHUT_SENDER_COMPLETED 
Name:          RPD_BGP_NEIGHBOR_GSHUT_SENDER_COMPLETED
Message:       graceful-shutdown sender functionality for peer: <peer-name> is
               enabled, local-preference: <bgp-local-pref>, completed
               advertising routes to the BGP peer with gshut community
Help:          Finished marking all routes to the BGP Peer with the
               graceful-shutdown community
Description:   Finished queuing all routes to be advertised to the BGP peer
               with the graceful-shutdown community.
Type:          Event: This message reports an event, not an error
Severity:      warning
Facility:      LOG_DAEMON
Action:        None

Enviar logs para servidor externo

Enviar logs direto para o CLI

Logs mais detalhados

Para poder ter mais detalhes em logs, podemos habilitar o traceoptions nas configurações de alguma hierarquia. Exemplo: OSPF

[edit]
raimon# set protocols ospf traceoptions file OSPF_TRACE.txt size 1M  
[edit]
raimon# set protocols ospf traceoptions flag event detail                   
[edit]
raimon# set protocols ospf traceoptions flag error detail   

Podemos ver que o erro de MTU não mostra em messages

Pings (com opções)

rapid (enviar pings de forma imediata assim que tiver resposta da anterior)

rapid count 100 (enviar 100 probes rapidamente)

size 1472 do-not-fragment (otimo para testar MTU)

Traceroute

monitor (mtr)

ARP / NDP

raimon> show arp
raimon> show ipv6 neighbors

Visualizar tráfego em tempo real

raimon> monitor interface traffic 

Interface específica

raimon> monitor interface ge-0/0/1

Visualizar pacotes (exceptions) – TCPDUMP

raimon> monitor traffic interface ge-0/0/0 [detail | extensive] no-resolve

Documentações de ajuda no Junos

Lembrar comandos (muda se você estiver em modo config ou operacional)

[edit]
raimon# help apropos host-name 
set system host-name <host-name> 
    Hostname for this router

Aprender algum tópico

raimon> help topic ospf bfd-liveness-detection 
                       Example: Configuring BFD for OSPF

   This example shows how to configure the Bidirectional Forwarding Detection
   (BFD) protocol for OSPF.
     * Requirements
     * Overview
     * Configuration
     * Verification

Lembrar sintaxe

raimon> help reference ospf area    
area
  Syntax
     area area-id {

SNMP

Configuração mínima

[edit]
raimon# set snmp community public authorization read-only 

[edit]
raimon# set snmp community public clients 172.16.0.0/24   

Traps

[edit]
raimon# set snmp trap-group TRAPS version v2  

[edit]
raimon# set snmp trap-group TRAPS categories chassis 

[edit]
raimon# set snmp trap-group TRAPS targets 172.16.0.1   

Visualizar mudanças no CLI repedidamente (2 segundos)

raimon> show ospf neighbor | refresh 2   

Firewall

Stateful = Security polices (mantém os estados das conexões)

Stateless = Firewall filters (não mantem estados e é usado para bloquear violações de seguranças mais obvias)

Firewall Filters

Não se limita apenas a bloquear e permitir tráfego

Declarações de from/then. Chamadas de Term

TERM 1 FROM {condição] THEN {ação)

Condições

Podemos ter varios elementos de condições no mesmo termo.

  • Condições igual irá agir como um OR
  • Condições diferentes irá agir como um AND

Ação

Ações sem terminação

São implicitamente ACCEPT

Exemplos:

Exemplo

set firewall family inet filter FW term BLOCK_GAMING from source-address 172.16.10.22/32
set firewall family inet filter FW term BLOCK_GAMING from source-address 172.16.10.44/32
set firewall family inet filter FW term BLOCK_GAMING from destination-address 198.51.100.48/32
set firewall family inet filter FW term BLOCK_GAMING from protocol tcp
set firewall family inet filter FW term BLOCK_GAMING from destination-port 666
set firewall family inet filter FW term BLOCK_GAMING then log
set firewall family inet filter FW term BLOCK_GAMING then discard

set firewall family inet filter FW term GUEST_COUNT_WEB from source-address 172.16.30.0/24
set firewall family inet filter FW term GUEST_COUNT_WEB from protocol tcp
set firewall family inet filter FW term GUEST_COUNT_WEB from destination-port http
set firewall family inet filter FW term GUEST_COUNT_WEB from destination-port https
set firewall family inet filter FW term GUEST_COUNT_WEB then count PACKETS_WEB

set firewall family inet filter FW term BLOCK_GUEST_PING from source-address 172.16.30.0/24
set firewall family inet filter FW term BLOCK_GUEST_PING from protocol icmp
set firewall family inet filter FW term BLOCK_GUEST_PING from icmp-type echo-request
set firewall family inet filter FW term BLOCK_GUEST_PING from icmp-type echo-reply
set firewall family inet filter FW term BLOCK_GUEST_PING then discard

set firewall family inet filter FW term ALLOW then accept

Para ativar de fato, deve-se adicionar interface

[edit]
raimon# set interfaces ge-0/0/0.10 family inet filter output FW

Dependendo do sentido do tráfego ou localização do device na topologia, pode ser output ou input (no caso acima, dropo na interface de saida pra internet)

Adicionando varios filtros

Caso nenhum termo seja atendido, por padrão o Junos tem a politica implicita de DROPAR tudo, por isso deve-se criar um term com accept no final.

Sem especificar se é porta de origem ou destino, o Junos checa ambos

Sem especificar se é TCP ou UDP, o Junos checa ambos

Verificar counters

raimon> show firewall counter PACKETS_WEB filter FW

Adicionando novo termo em um Firewall Filter existente

Ao adicionar com o set, esse termo vai para o final, após o accept explicito. Para adicionar acima, é recomendado usar o Insert

[edit]
raimon# insert firewall family inet filter FW term TESTE before term ALLOW  

ou

[edit]
raimon# insert firewall family inet filter FW term TESTE after term BLOCK_GAMING  

Usando prefix-list

set policy-options prefix-list REDE-LAN-RAIMON 10.1.10.0/24
set policy-options prefix-list REDE-LAN-RAIMON 10.1.20.0/24

Prefix-list automática (usando rotas diretamente conectadas por exemplo)

Para proteger o RE, é aconselhavel criar regras para a loopback (input)

Policer (rate-limit traffic)

set firewall policer 8MB if-exceeding bandwidth-limit 8m
set firewall policer 8MB if-exceeding burst-size-limit 1500
set firewall policer 8MB then discard

Combinando

Boas práticas:

Definir explicitamente o que é definido implicitamente

Considerar as ordens dos termos, adicionando no topo as condições que mais satisfazem o filtro. Também os protocolos mais importantes

Sempre faça filtros usando o address family

Jeito legado de fazer (direto na hierarquia firewall)

Policy Options

Usado para mudar o comportamento padrão dos protocolos de roteamento em relação a instalação de prefixos na tabela de roteamento

Tem a mesma sintaxe de Firewall Filters

Import/Export

Do ponto de vista da tabela de roteamento, a instalação de prefixos nela (vindo de um protocolo) é o Import, e o oposto é o Export

Cada protocolo tem seu comportamento padrão em relação a Export.

OSPF = Não exporta nada da tabela de rotamento (os LSA que tomam conta disso para manter toda a topologia identica para os roteadores). Ou seja, por padrão o OSPF não anuncia prefixos da tabela de roteamento que foram aprendidos por outros protocolos. Para Import a ação implicita é aceitar os prefixos anunciados por OSPF (LSA).

Os LSA tem que ser igual em todos os roteadores, por isso não é possivel filtrar prefixos internos do OSPF com import/export polices

BGP = Exporta os prefixos que tem na tabela de roteamento aprendidos por BGP. Para import a ação implicita é aceitar os prefixos anunciados por BGP. (porém tem questões de IBGP para evitar loops que não é o foco)

Exemplo OSPF:

Várias policies (Policy Chaining)

Route-filters

Usado para filtrar prefixos de forma mais específicas

exact

orlonger

longer

upto

prefix-length-range

Atualizando o Junos OS

Em resumo é feito em 4 passos:

No site ao pesquisar a imagem do Junos, tem duas opções e cada uma é um metodo diferente

A primeira é para atualizar o Junos salvando a imagem no proprio dispositivo e a outra opção é usando um pen drive.

Existe a imagem Limited, mas apenas alguns paises precisam desse.

Imagens NET é usado quando não tem acesso ao CLI da caixa (situação de emergência) usando o loader prompt

Nomenclatura do arquivo

Verifica-se primeiro se tem espaço em disco

raimon> show system storage

O arquivo é baixo em /var/tmp

Caso necessário, para liberar espaço

raimon> request system storage cleanup dry-run

Baixando a imagem pro device

raimon> file copy "LINK DE DOWNLOAD DA IMAGEM" /var/tmp

Verificar versão

raimon> show version

Atualizar

raimon> request system software add /var/tmp/IMAGEM

Algumas caixas tem arquitetura diferente, com isso o comando muda

EX: MX204

raimon> request vmhost software add /var/tmp/IMAGEM

Rebootar

raimon> request system reboot

Mais opções (se necessário)

Reverter

O Junos mantem uma cópia da versão antiga quando atualiza de forma bem sucedida

raimon> request system software rollback

Extra

Server DHCP – Switch

set system services dhcp-local-server group server-rede-10 interface irb.10
set access address-assignment pool REDE-10-POOL family inet network 172.16.10.0/24
set access address-assignment pool REDE-10-POOL family inet dhcp-attributes domain-name 1.1.1.1
set access address-assignment pool REDE-10-POOL family inet dhcp-attributes router 172.16.10.254
set access address-assignment pool REDE-10-POOL family inet excluded-address 172.16.10.254

 

0 0 votos
Article Rating
Inscrever-se
Notificar de
guest
0 Comments
mais antigos
mais recentes Mais votado
Feedbacks embutidos
Ver todos os comentários