Hoje vou descrever uma maneira simples de efetuar backup das configurações de equipamentos Juniper através de transferência via SCP à cada novo commit.
Para executar essa tarefa é necessário ter uma máquina Linux/BSD que tenha um usuário e senha configurado para uso do Juniper, para poder receber as transferências.
Aqui um cenário de laboratório de como funcionará o backup
Basicamente a conexão de backup via SCP vai funcionar através da interface fxp0 do roteador vMX, essa interface que é conhecida por ser a gerência do equipamento, que está conectada à interface e1 no servidor FreeBSD
1 - Configurando um usuário
Como mencionei no início do texto, vamos fazer o backup via SCP, logo precisamos ter um usuário criado em algum servidor seja ele Linux ou BSD, no meu caso vou utilizar o FreeBSD, mas também pode ser utilizado qualquer Linux da preferência do leitor.
No FreeBSD vamos criar o nosso usuário com o seguinte comando
root@freebsd-eve:~ # pw user add -n juniper -c "backup juniper" -d /home/juniper -m -s /usr/local/bin/bash
Abaixo vamos setar uma senha para nosso usuário, que em meu exemplo terá a senha como patobranco123
root@freebsd-eve:~ # passwd juniper
Changing local password for juniper
New Password:
Retype New Password:
root@freebsd-eve:~ #
Aqui acessamos o usuário via comando su, para ver se está tudo certo no diretório home
root@freebsd-eve:~ # su - juniper
To see the last time that you logged in, use lastlogin(8).
-- Dru <genesis@istar.ca>
[juniper@freebsd-eve ~]$
Ainda dentro do diretório logado com o usuário juniper, vamos criar o diretório vmx, local este que será utilizado para salvar nossos backups.
[juniper@freebsd-eve ~]$ mkdir vmx
[juniper@freebsd-eve ~]$ ls
vmx
Com o diretório criado e o usuário fumando, vamos agora para o roteador vMX para efetuar as configurações de backup.
2 - Configurando o roteador Juniper para efetuar o backup
Com tudo ajustado no servidor que vai receber os arquivos, vamos para o nosso roteador Juniper fazer a configuração do backup via SCP
A comunicação entre o servidor e o Juniper como falei no início do artigo se dará via interface fxp0, através da rede 192.168.100.0/24, onde o servidor FreeBSD tem o IP 192.168.100.100/24 e o roteador Juniper tem o IP 192.168.100.101/24.
Depois de validarmos a conectividade, vamos a configuração do backup SCP:
root> edit
Entering configuration mode
[edit]
root# edit system archival configuration
[edit system archival configuration]
root# set transfer-on-commit
root# set archive-sites "scp://juniper@192.168.100.100:/home/juniper/vmx" password "patobranco123"
The authenticity of host '192.168.100.100 (192.168.100.100)' can't be established.
ECDSA key fingerprint is SHA256:o4A7FyvAjqN3GNM9fnHazfw8Z6Xng3SJfn+gEDEgDWs.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '192.168.100.100' (ECDSA) to the list of known hosts.
[edit system archival configuration]
root# show
transfer-on-commit;
archive-sites {
"scp://juniper@192.168.100.100:/home/juniper" password "$9$q.T36/tBRS69tOIReKM8XNb2aJDP5FUD9A0ORE"; ## SECRET-DATA
}
[edit system archival configuration]
root# top
[edit]
root# show | compare
[edit system]
+ archival {
+ configuration {
+ transfer-on-commit;
+ archive-sites {
+ "scp://juniper@192.168.100.100:/home/juniper/vmx" password "$9$0oClOEyleW7dslKWx-d4oJGDHmT3nC1RS9CKMXxdV"; ## SECRET-DATA
+ }
+ }
+ }
[edit]
+ security {
+ ssh-known-hosts {
+ host 192.168.100.100 {
+ ecdsa-sha2-nistp256-key AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBFKrb1vi6ld4XcvWd6bfT2wM4h6n0WGmnEIJLB49SSZOA9rSuiHLiAPv5niuxbrPm1vlutlbQLk6xPvGfuK5TeA=;
+ }
+ }
+ }
[edit]
root# commit and-quit
commit complete
Exiting configuration mode
root>
No quadro acima, entramos no modo de edição do equipamento
e acessamos o nível "system archival configuration", para inserir a opção de transferência de backup do sistema à cada novo commit executado e inserimos a linha do scp com o usuário juniper fazendo login no servidor FreeBSD que tem o usuário criado e apontando que o diretório de backup será a pasta vmx que criamos previamente. Após a configuração, executamos um "show|compare" para validarmos o que será mudado e é exibido que a configuração de backup via commit com scp foi criada e que no nível "security" de hosts conhecidos, foi adicionado o servidor FreeBSD.
Após essa configuração vamos aos logs do roteador para verificar se tudo ocorreu corretamente.
Podemos notar a seguinte linha:
Sep 16 16:17:08 logger[18674]: transfer-file: Transferred /var/transfer/config/_20220916_161655_juniper.conf.gz
A cada novo commit, essa linha é exibida, mostrando que o backup já foi despachado para o servidor via SCP.
Por último, vamos no servidor FreeBSD na home do usuário juniper no diretório vmx ver como tudo ficou:
root@freebsd-eve:~ # cd /home/juniper/vmx/
root@freebsd-eve:/home/juniper/vmx # ls -lha
total 12
drwxr-xr-x 2 juniper juniper 512B Sep 16 16:17 .
drwxr-xr-x 3 juniper juniper 512B Sep 16 14:50 ..
-rw-r----- 1 juniper juniper 706B Sep 16 16:16 _20220916_161655_juniper.conf.gz
Podemos ver que o backup ocorreu corretamente no diretório que configuramos, se em algum momento haja necessidade de ver o arquivo de backup para alguma restauração ou simples consulta, basta utilizar o comando gunzip para poder visualizar o conteúdo:
root@freebsd-eve:/home/juniper/vmx # gunzip _20220916_161655_juniper.conf.gz
root@freebsd-eve:/home/juniper/vmx # ls
_20220916_161655_juniper.conf
root@freebsd-eve:/home/juniper/vmx # cat _20220916_161655_juniper.conf | more
## Last changed: 2022-09-16 16:16:46 UTC
version 21.3R1-S2.2;
system {
root-authentication {
encrypted-password "$6$htF6VKSr$YedS3Ki1Tudh.78942QdH5MvNApo7Nizou0SFpaMtZy5vpAEf7nS3rV6UnIzpZhtvjrO7CjerOO84mg0dqi0P/";
}
syslog {
file interactive-commands {
interactive-commands any;
}
file messages {
any notice;
authorization info;
}
Podemos visualizar o arquivo via comando cat, vim, vi ou o editor de sua preferência, para possível edição e posterior restauração de backup no roteador.
Link de referência: link
Top comments (0)