Introdução
Este documento descreve como usar o recurso Arquivo de configuração externo, disponível na versão 2.3.5.x do Cisco DNA Center.
Pré-requisitos
Requisitos
A Cisco recomenda que você tenha conhecimento destes tópicos:
- Cisco DNA Center executando uma versão 2.3.5
- Servidor Linux Secure File Transfer Protocol (SFTP)
Componentes Utilizados
As informações neste documento são baseadas nestas versões de software e hardware:
- Cisco DNA Center executando uma versão 2.3.5 ou superior
- Um servidor SFTP, neste documento, um servidor Linux RedHat 8 é usado
As informações neste documento foram criadas a partir de dispositivos em um ambiente de laboratório específico. Todos os dispositivos utilizados neste documento foram iniciados com uma configuração (padrão) inicial. Se a rede estiver ativa, certifique-se de que você entenda o impacto potencial de qualquer comando.
Configurar
Defina as configurações de SFTP
Etapa 1. Ao contrário do FTP, não há necessidade de instalar pacotes adicionais para usar o SFTP. O SFTP usa o subsistema SSH. Portanto, basta executar o comando rpm -qa|grep ssh
e confirme se você já tem o pacote SSH necessário.
A saída deve ser semelhante a esta:
[admin@backup-server ~]$ rpm -qa|grep ssh
libssh-0.9.4-3.el8.x86_64
openssh-clients-8.0p1-10.el8.x86_64
openssh-8.0p1-10.el8.x86_64
libssh-config-0.9.4-3.el8.noarch
openssh-server-8.0p1-10.el8.x86_64
openssh-askpass-8.0p1-10.el8.x86_64
qemu-kvm-block-ssh-4.2.0-59.module+el8.5.0+12817+cb650d43.x86_64
Etapa 2. Crie uma nova pasta e atribua permissões apropriadas a ela.
[admin@backup-server data]$ mkdir -p /data/sftp
[admin@backup-server data]$ chmod 700 /data
Etapa 3. Vá para o novo diretório.
[admin@backup-server data]$ cd /data/sftp
Etapa 4. Crie um group
e um user
para controlar os usuários com acesso SFTP.
[admin@backup-server sftp]$ groupadd sftpusers
Etapa 5. Crie um usuário, por exemplo, digranad
e vincule-o ao grupo sftpusers e à pasta criada na Etapa 1.
[admin@backup-server sftp]$ useradd -g sftpusers -d /data/sftp digranad
Atribua uma senha ao usuário.
[admin@backup-server sftp]$ passwd digranad
Changing password for user digranad.
New password:
Retype new password:
passwd: all authentication tokens updated successfully.
Etapa 6. Configure as permissões corretas para o diretório usando o grupo e o usuário criados nas etapas anteriores. Use o comando sudo chown user:group directory/
.
[admin@backup-server data]$ pwd
/data
[admin@backup-server data]$ sudo ls -lrt
[sudo] password for admin:
total 0
drwxr-xr-x. 2 root root 6 Feb 3 18:22 sftp
[admin@backup-server data]$ sudo chown digranad:sftpusers sftp/
[admin@backup-server data]$ sudo ls -lrt
total 0
drwxr-xr-x. 3 digranad sftpusers 38 May 18 15:04 sftp
[admin@backup-server data]$
Neste ponto, você definiu com êxito as configurações de SFTP. Agora, prossiga com a configuração no Cisco DNA Center.
Configurar o repositório externo SFTP na GUI do Cisco DNA Center
Etapa 1. Faça login na GUI do Cisco DNA Center, e navegue até System > Settings > Configuration Archive
.
Etapa 2. No Configuration Archive
clique na guia Externo.
Etapa 3. Clique no ícone Add para iniciar a configuração de um Repository externo.
Observação: somente um servidor SFTP pode ser adicionado.
Etapa 4. No Add New External Repository
e preencha estes detalhes:
-
Host: insira o endereço IP do servidor.
-
Local Raiz: Informe o local da pasta raiz.
-
Server Protocol: insira o nome de usuário, a senha e o número da porta do servidor SFTP (a porta 2 é a porta SFTP padrão).
- Escolha o Formato de Backup:
- RAW: Uma configuração de execução completa será divulgada. Todas as configurações confidenciais/privadas são desmascaradas nos dados de backup. Digite uma senha para bloquear o arquivo de backup.
Cuidado: as senhas de arquivo não são salvas no Cisco DNA Center. Você deve se lembrar da senha para acessar os arquivos no servidor SFTP.
Observação: a senha é aplicável somente quando o formato de backup bruto está selecionado.
e. Programe o ciclo de backup. Insira a data, a hora, o fuso horário e o intervalo de recorrência do backup.
Observação: use as configurações definidas na seção Configurar configurações de SFTP deste documento.
Configuração do Repositório Externo 1
Etapa 5. Click Save.
Verificar
Confirme se a configuração do Repositório externo está salva e exibida na seção Arquivo de configuração.
Como consumir os dados
O Cisco DNA Center atua como um repositório para a configuração de dispositivos de rede. Estas são as etapas para visualizar as configurações no SFTP Server
.
Alterar diretório ( cd
) no servidor SFTP Root Location
e executar o pwd
para confirmar.
[admin@backup-server ~]$ cd /data/sftp/
[admin@backup-server sftp]$ pwd
/data/sftp
O Cisco DNA Center deve ter configurado um diretório chamado device_config_export. Uso ls -lrt
para listá-lo.
[admin@backup-server sftp]$ ls -lrt
total 4
drwxr-xr-x. 25 digranad sftpusers 4096 Jul 18 20:24 device_config_export
Alterar o diretório com cd
e liste os arquivos novamente. Você deve ver um diretório para cada ciclo e o dia em que ele foi executado.
[admin@backup-server sftp]$ cd device_config_export/
[admin@backup-server device_config_export]$ ls -lrt
total 0
drwxr-xr-x. 2 digranad sftpusers 61 May 18 15:31 1eeb097b-1d13-4e90-ba38-aace54dcdab5
drwxr-xr-x. 2 digranad sftpusers 61 May 19 14:45 a1a06766-feec-41b0-adf0-50e94def3901
drwxr-xr-x. 2 digranad sftpusers 61 May 22 14:45 28dd5439-c1e9-4a76-bd25-5292d46a1fe6
drwxr-xr-x. 2 digranad sftpusers 61 May 25 14:45 5dbf1ad5-a1a7-42ed-8367-ba90d09fffad
Para verificar o arquivo a partir de 18 de maio, cd
nesse diretório e listar seu conteúdo para encontrar o arquivo .zip com as configurações.
[admin@backup-server device_config_export]$ cd 1eeb097b-1d13-4e90-ba38-aace54dcdab5
[admin@backup-server 1eeb097b-1d13-4e90-ba38-aace54dcdab5]$ ls -lrt
total 364
-rw-r--r--. 1 digranad sftpusers 371393 May 18 15:31 Export_Configs-17_May_2023_23_50_00_212-w8Q.zip
Você tem estas duas opções para verificar os arquivos dentro do arquivo .zip:
Opção 1. Descompactar o arquivo Export_Configs
Execute o comando unzip
para o arquivo .zip.
Observação: a opção Sudo é necessária no exemplo, já que você está conectado com o nome de usuário admin.
[admin@backup-server 1eeb097b-1d13-4e90-ba38-aace54dcdab5]$ sudo unzip Export_Configs-17_May_2023_23_50_00_212-w8Q.zip
Archive: Export_Configs-17_May_2023_23_50_00_212-w8Q.zip
Esta opção cria um diretório para cada dispositivo no inventário. Marque-os com o comando ls
comando.
[admin@backup-server 1eeb097b-1d13-4e90-ba38-aace54dcdab5]$ ls -lrt
total 364
-rw-r--r--. 1 digranad sftpusers 371393 May 18 15:31 Export_Configs-17_May_2023_23_50_00_212-w8Q.zip
drwxr-xr-x. 2 root root 151 Jul 19 15:45 x.x.x.x-Border2.Pod2.example.com
drwxr-xr-x. 2 root root 151 Jul 19 15:45 x.x.x.x-FIAB.Pod8.example.com
drwxr-xr-x. 2 root root 151 Jul 19 15:45 x.x.x.x-Border2.Pod8.example.com
drwxr-xr-x. 2 root root 106 Jul 19 15:45 x.x.x.x-MXC.L.11-9300
drwxr-xr-x. 2 root root 106 Jul 19 15:45 x.x.x.x-MXC.N.04-9300
drwxr-xr-x. 2 root root 151 Jul 19 15:45 x.x.x.x-Edge1.Pod8.example.com
drwxr-xr-x. 2 root root 151 Jul 19 15:45 x.x.x.x-WLC.Pod8.example.com
drwxr-xr-x. 2 root root 151 Jul 19 15:45 x.x.x.x-Edge2.Pod2.example.com
drwxr-xr-x. 2 root root 151 Jul 19 15:45 x.x.x.x-Border1_node.example.com
drwxr-xr-x. 2 root root 151 Jul 19 15:45 x.x.x.x-Border2_node.example.com
drwxr-xr-x. 2 root root 151 Jul 19 15:45 x.x.x.x-Edge-1
drwxr-xr-x. 2 root root 151 Jul 19 15:45 x.x.x.x-Interm.Pod8.example.com
drwxr-xr-x. 2 root root 151 Jul 19 15:45 x.x.x.x-Edge2.Pod8.example.com
drwxr-xr-x. 2 root root 151 Jul 19 15:45 x.x.x.x-MXC.I.12-9500
drwxr-xr-x. 2 root root 151 Jul 19 15:45 x.x.x.x-Edge1.Pod2.example.com
drwxr-xr-x. 2 root root 151 Jul 19 15:45 x.x.x.x-Border1.Pod8.example.com
drwxr-xr-x. 2 root root 151 Jul 19 15:45 x.x.x.x-Switch.Pod2.example.com
drwxr-xr-x. 2 root root 106 Jul 19 15:45 x.x.x.x-MXC.D.10-9300
drwxr-xr-x. 2 root root 106 Jul 19 15:45 x.x.x.x-Fusion_Router.example.com
drwxr-xr-x. 2 root root 151 Jul 19 15:45 x.x.x.x-Border1.Pod2.example.com
drwxr-xr-x. 2 root root 151 Jul 19 15:45 x.x.x.x-LanAauto-5.Pod8.example.com
drwxr-xr-x. 2 root root 151 Jul 19 15:45 x.x.x.x-Router-Lab.cisco
drwxr-xr-x. 2 root root 151 Jul 19 15:45 x.x.x.x-Edge-1
drwxr-xr-x. 2 root root 151 Jul 19 15:45 x.x.x.x-WLC1.Pod2.example.com
drwxr-xr-x. 2 root root 106 Jul 19 15:45 x.x.x.x-Router
drwxr-xr-x. 2 root root 151 Jul 19 15:45 x.x.x.x-Edge-2
drwxr-xr-x. 2 root root 106 Jul 19 15:45 x.x.x.x-sw2.example.com
drwxr-xr-x. 2 root root 151 Jul 19 15:45 x.x.x.x-Fusion.Pod8.example.com
drwxr-xr-x. 2 root root 151 Jul 19 15:45 x.x.x.x-9800-5-jdv.example.com
Cada diretório é criado com o formato x.x.x.x-DeviceHostname
where x.x.x.x
significa o endereço IP de gerenciamento de dispositivos.
Os dados salvos podem variar dependendo do tipo de dispositivo. Aqui estão dois exemplos, um para x.x.x.x-Edge1.Pod8.example.com
e o outro para x.x.x.x-Fusion_Router.cisco.com
.
Para ver os arquivos armazenados, cd
ao diretório do dispositivo e liste seu conteúdo.
[admin@backup-server 1eeb097b-1d13-4e90-ba38-aace54dcdab5]$ cd x.x.x.x-Edge1.Pod8.example.com
[admin@backup-server x.x.x.x-Edge1.Pod8.example.com]$ ls -lrt
total 140
-rw-r--r--. 1 root root 556 May 17 23:50 17_May_2023_23_50_00_212_vlan.dat.bat
-rw-r--r--. 1 root root 67990 May 17 23:50 17_May_2023_23_50_00_212_STARTUPCONFIG.cfg
-rw-r--r--. 1 root root 68055 May 17 23:50 17_May_2023_23_50_00_212_RUNNINGCONFIG.cfg
[admin@backup-server 1eeb097b-1d13-4e90-ba38-aace54dcdab5]$ cd x.x.x.x-Fusion_Router.example.com
[admin@backup-server x.x.x.x-Fusion_Router.example.com]$ ls -lrt
total 32
-rw-r--r--. 1 root root 15578 May 17 23:50 17_May_2023_23_50_00_212_STARTUPCONFIG.cfg
-rw-r--r--. 1 root root 15578 May 17 23:50 17_May_2023_23_50_00_212_RUNNINGCONFIG.cfg
Observação: espera-se que os dispositivos baseados em Roteador não armazenem dados de VLAN.
Por fim, use o comando Linux cat
para verificar o conteúdo de cada arquivo de configuração.
admin@backup-server x.x.x.x-Fusion_Router.cisco.com]$ cat 17_May_2023_23_50_00_212_STARTUPCONFIG.cfg
service timestamps debug datetime msec
service timestamps log datetime msec
service password-encryption
service call-home
...
...
...
snmp-server host x.x.x.x version 2c ********
snmp-server host x.x.x.x version 2c ********
control-plane
line con 0
stopbits 1
line aux 0
line vty 0 4
transport input ssh
destination transport-method http
event manager applet catchall
event cli pattern ".*" sync no skip no
action 1 syslog msg "$_cli_msg"
netconf-yang
end
Opção 2. Navegue no .zip usando a ferramenta Linux Vim
A ferramenta Vim permite navegar pelo arquivo .zip sem extraí-lo. Para isso, execute o comando vim
com o arquivo .zip.
[admin@backup-server 1eeb097b-1d13-4e90-ba38-aace54dcdab5]$ vim Export_Configs-17_May_2023_23_50_00_212-w8Q.zip
O Vim carrega um ambiente de navegação onde você pode navegar por todos os arquivos dentro do arquivo .zip usando suas teclas de seta e a tecla Enter para navegar pelos arquivos.
" zip.vim version v28
" Browsing zipfile /data/sftp/device_config_export/1eeb097b-1d13-4e90-ba38-aace54dcdab5/Export_Configs-17_May_2023_23_50_00_212-w8Q.zip
" Select a file with cursor and press ENTER
/x.x.x.x-Border2.Pod2.example.com/17_May_2023_23_50_00_212_RUNNINGCONFIG.cfg
/x.x.x.x-Border2.Pod2.example.com/17_May_2023_23_50_00_212_STARTUPCONFIG.cfg
/x.x.x.x-Border2.Pod2.example.com/17_May_2023_23_50_00_212_vlan.dat.bat
/x.x.x.x-FIAB.Pod8.example.com/17_May_2023_23_50_00_212_STARTUPCONFIG.cfg
/x.x.x.x-FIAB.Pod8.example.com/17_May_2023_23_50_00_212_vlan.dat.bat
/x.x.x.x-FIAB.Pod8.example.com/17_May_2023_23_50_00_212_RUNNINGCONFIG.cfg
/x.x.x.x-Border2.Pod8.example.com/17_May_2023_23_50_00_212_vlan.dat.bat
Observação: para sair de qualquer arquivo ou do ambiente Vim, use o comando :q!
.
Troubleshooting
Erros comuns
1. A Hora de Início é Maior que a Hora Atual
Após a configuração do servidor de repositório externo, se a StartTime configurada para o ciclo de backup for anterior à hora atual, este erro será exibido:
Para alterar isso, basta escolher uma StartTime diferente que seja maior que a hora atual.
2. O Diretório de Localização Raiz não está Vazio
Caso a pasta do local raiz não tenha sido criada do zero ou você esteja reconfigurando o repositório externo no Cisco DNA Center, este erro será exibido:
Para corrigir esse erro, limpe o Local raiz no servidor SFTP. Faça login no servidor SFTP e navegue até o local com o comando cd
e executar uma limpeza com o comando sudo rm -r
.
[admin@backup-server sftp]$ cd /data/sftp
[admin@backup-server sftp]$ sudo rm -r
Use o ls -lrt
para confirmar que não há arquivos e use o comando ls -la
para verificar se há algum arquivo oculto.
[admin@backup-server sftp]$ sudo ls -lrt
total 0
[admin@backup-server sftp]$ sudo ls -la
total 4
drwxr-xr-x. 3 digranad sftpusers 38 May 18 15:23 .
drwx-----x. 4 root root 34 Feb 3 18:27 ..
drwx------. 3 digranad sftpusers 19 May 18 15:03 .config
-rw-------. 1 digranad sftpusers 16 May 18 15:03 .esd_auth
Caso haja arquivos ocultos, remova-os com o comando sudo rm -r .*
e usar o comando ls -la
para confirmar que todos os arquivos foram removidos.
[admin@backup-server sftp]$ sudo rm -r .*
rm: refusing to remove '.' or '..' directory: skipping '.'
rm: refusing to remove '.' or '..' directory: skipping '..'
[admin@backup-server sftp]$
[admin@backup-server sftp]$ sudo ls -la
total 0
drwxr-xr-x. 2 digranad sftpusers 6 May 18 15:25 .
drwx-----x. 4 root root 34 Feb 3 18:27 ..
[admin@backup-server sftp]$
3. A Pasta do Local Raiz não Existe ou as Permissões não foram Concedidas Corretamente
Caso a pasta do local raiz esteja ausente no servidor SFTP ou caso ela exista sem as permissões apropriadas, este erro será exibido:
Rastreie as permissões começando de cima para baixo. Neste exemplo, verifique as permissões ou a existência da /sftp
diretório sob o comando /data
diretório.
Use o comando pwd
para saber o local da pasta atual.
[admin@backup-server data]$ pwd
/data
Com a ls -lrt
confirme se o comando /sftp
existe e verifique suas permissões.
[admin@backup-server data]$ ls -lrt
total 0
drwxr-xr-x. 2 root root 6 Feb 3 18:22 sftp
O diretório /sftp
tem permissões definidas como raiz. Caso um usuário diferente tenha sido usado na Etapa 4. do Configure SFTP server on Cisco DNA Center GUI
, você deverá alterar o nome de usuário nas Configurações da GUI ou as permissões no Servidor SFTP. Você pode usar a Etapa 6. do Configure SFTP Settings
para referência.