Use o Ansible para restaurar um dispositivo Junos nas configurações de configuração padrão de fábrica
RESUMO Use os módulos Ansible da Juniper Networks para restaurar um dispositivo Junos em suas configurações de configuração padrão de fábrica.
Como usar o Ansible para restaurar as configurações de configuração padrão de fábrica
A Juniper Networks oferece suporte ao uso do Ansible para gerenciar dispositivos Junos e fornece módulos que permitem que você restaure um dispositivo em suas configurações de configuração padrão de fábrica. A Tabela 1 descreve os módulos.
Conjunto de conteúdo |
Nome do módulo |
---|---|
|
|
|
Para usar o system
módulo ou juniper_junos_system
restaurar um dispositivo em suas configurações de configuração padrão de fábrica, defina o argumento do action
módulo para 'zeroize'
. Após a restauração de um dispositivo nas configurações de configuração padrão de fábrica, você deve fazer login pelo console como raiz para acessar o dispositivo.
Juniper.junos
A partir do lançamento 2.0.0, o juniper_junos_system
módulo substitui a funcionalidade do e junos_zeroize
dos junos_shutdown
módulos.
O action: "zeroize"
argumento faz com que o módulo execute o request system zeroize
comando operacional no host alvo. Esse comando remove todas as informações de configuração nos mecanismos de roteamento especificados, reinicia todos os valores-chave do dispositivo e, em seguida, reinicia o dispositivo e o reinicia nas configurações de configuração padrão de fábrica. A operação zeroize remove todos os arquivos de dados, incluindo configuração personalizada e arquivos de log, desvinculando os arquivos de seus diretórios, e também remove todos os arquivos criados pelo usuário do sistema, incluindo todas as senhas de texto simples, segredos e chaves privadas para SSH, criptografia local, autenticação local, IPsec, RADIUS, TACACS+, e SNMP.
Para obter mais informações, veja:
A cartilha Ansible a seguir usa o juniper.device
módulo da system
coleção para action: "zeroize"
redefinir todos os mecanismos de roteamento em cada host do grupo de inventário para as configurações padrão de fábrica.
--- - name: Restore Junos devices to factory-default configuration hosts: dc1 connection: local gather_facts: no tasks: - name: Restore all Routing Engines to factory-default configuration juniper.device.system: action: "zeroize"
Por padrão, a action: "zeroize"
operação reinicia todos os mecanismos de roteamento em um mecanismo de roteamento duplo ou configuração do Virtual Chassis para as configurações de configuração padrão de fábrica. Você também pode instruir o módulo a realizar a operação apenas no Mecanismo de Roteamento ao qual o aplicativo está conectado.
Para indicar explicitamente que a operação deve ser realizada em todos os mecanismos de roteamento em um mecanismo de roteamento duplo ou configuração do Virtual Chassis, inclua o all_re: True
argumento, que é o padrão.
tasks: - name: Restore all Routing Engines to factory-default configuration juniper.device.system: action: "zeroize" all_re: True
Para realizar a ação solicitada apenas no Mecanismo de Roteamento ao qual o aplicativo está conectado, inclua o all_re: False
argumento.
tasks: - name: Restore connected Routing Engine to factory-default configuration juniper.device.system: action: "zeroize" all_re: False
Para instruir o módulo a também esfregar toda a memória e mídia, além de remover todas as configurações e arquivos de log, inclua o media: True
argumento. Incluir o media: True
argumento equivale à execução do comando do request system zeroize media
modo operacional. A opção media
elimina todos os dispositivos de armazenamento conectados ao sistema, incluindo discos, dispositivos de memória flash, USBs removíveis e assim por diante. A duração do processo de limpeza depende do tamanho da mídia que está sendo apagada.
tasks: - name: Restore device to the factory-default configuration and scrub media juniper.device.system: action: "zeroize" media: True
Exemplo: use o Ansible para restaurar as configurações de configuração padrão de fábrica
Este exemplo demonstra como usar o system
módulo na juniper.device
coleção para restaurar um dispositivo Junos em suas configurações de configuração padrão de fábrica. Você pode executar o módulo usando qualquer tipo de conexão; no entanto, uma vez que você redefinir o dispositivo, você só pode acessá-lo novamente como raiz através de um servidor de console ou da porta CONSOLE . Este exemplo se conecta aos dispositivos por meio de um servidor de console.
Requisitos
Este exemplo usa os seguintes componentes de hardware e software:
-
Servidor de gerenciamento de configuração executando Ansible 2.10 ou posterior com a
juniper.device
coleção instalada -
Dispositivo Junos que tem acesso à porta do console através de um servidor de console e tem uma conta de usuário configurada com permissões apropriadas
-
Arquivo de inventário Ansible existente com hosts necessários definidos
Visão geral
Este exemplo apresenta um manual ansible que usa o system
módulo para redefinir cada host no grupo de inventário para suas configurações de configuração padrão de fábrica. O valor do argumento do action
módulo define a operação a ser executada no host. Configuração action
para "zeroize"
executar o request system zeroize
comando em cada host. Esse comando remove todas as informações de configuração nos mecanismos de roteamento, redefine todos os valores-chave do dispositivo e depois reinicia o dispositivo e as reinicia nas configurações de configuração padrão de fábrica.
O request system zeroize
comando remove todos os arquivos de dados, incluindo configuração personalizada e arquivos de log, desvinculando os arquivos de seus diretórios. O comando também remove todos os arquivos criados pelo usuário do sistema, incluindo todas as senhas de texto simples, segredos e chaves privadas para SSH, criptografia local, autenticação local, IPsec, RADIUS, TACACS+, e SNMP.
Ao chamar o módulo de um manual, recomendamos que você use um prompt interativo para confirmar que o usuário pretende redefinir os dispositivos. Se um usuário executa acidentalmente o manual e não há verificação, ele pode reverter inadvertidamente os dispositivos de volta para configurações padrão de fábrica e interromper quaisquer redes que exijam esses dispositivos. Por precaução, este manual usa um prompt interativo para verificar se o usuário pretende redefinir os dispositivos e exige que o usuário digite "yes" manualmente na linha de comando para executar o módulo. Se a Confirmation check
tarefa falhar, o nó de controle Ansible ignora as outras tarefas em jogo para esse dispositivo.
A tarefa que restaura os hosts na configuração padrão de fábrica executa o system
módulo desde que a verificação de confirmação tenha sido bem sucedida. O e port: 23
os mode: "telnet"
argumentos instruem o módulo a telenet para a porta 23 do servidor do console. O password
parâmetro é definido para o valor da password
variável, que o manual solicita durante a execução. Após a reinicialização, você deve fazer login pelo console como raiz para acessar o dispositivo.
Configuração
Criação e execução do ansible Playbook
Procedimento passo a passo
Para criar um manual que use o system
módulo para restaurar um dispositivo Junos em suas configurações de configuração padrão de fábrica:
Inclua a placa de caldeira para o manual e esta peça, que executa os módulos localmente.
--- - name: Restore Junos devices to factory-default configuration settings hosts: dc1_console connection: local gather_facts: no
Crie um prompt interativo para a
password
variável, se as credenciais do usuário ainda não forem passadas por alguns outros meios.vars_prompt: - name: "device_password" prompt: "Device password" private: yes
Crie um prompt interativo para evitar a execução acidental do módulo.
- name: reset_confirmation prompt: > This playbook resets hosts to factory-default configurations! Enter 'yes' to continue. default: "no" private: no
Crie a tarefa que confirma a intenção dos usuários.
tasks: - name: Confirmation check fail: msg="Playbook run confirmation failed" when: reset_confirmation != "yes"
Crie a tarefa de redefinir todos os mecanismos de roteamento do dispositivo para as configurações padrão de fábrica.
- name: Restore all Routing Engines to factory-default configuration juniper.device.system: password: "{{ device_password }}" mode: "telnet" port: 23 action: "zeroize" timeout: 120 register: result
(Opcional) Crie uma tarefa para publicar a resposta.
- name: Print response debug: var: result
Resultados
No nó de controle Ansible, revise o manual completo. Se o manual não exibir o código pretendido, repita as instruções neste exemplo para corrigir o manual.
--- - name: Restore Junos devices to factory-default configuration settings hosts: dc1_console connection: local gather_facts: no vars_prompt: - name: "device_password" prompt: "Device password" private: yes - name: reset_confirmation prompt: > This playbook resets hosts to factory-default configurations! Enter 'yes' to continue. default: "no" private: no tasks: - name: Confirmation check fail: msg="Playbook run confirmation failed" when: reset_confirmation != "yes" - name: Restore all Routing Engines to factory-default configuration juniper.device.system: password: "{{ device_password }}" mode: "telnet" port: 23 action: "zeroize" timeout: 120 register: result - name: Print response debug: var: result
Execute o playbook
Para executar o manual:
-
Emita o
ansible-playbook
comando no nó de controle e forneça o caminho de manual e quaisquer opções desejadas.root@ansible-cn:~/ansible# ansible-playbook ansible-pb-junos-zeroize.yaml Device password: This playbook resets hosts to factory-default configurations! Enter 'yes' to continue. [no]: yes PLAY [Restore Junos devices to factory-default configuration settings] TASK [Confirmation check] ********************************************** skipping: [dc1a-console.example.net] TASK [Restore all Routing Engines to factory-default configuration] **** changed: [dc1a-console.example.net] TASK [Print response] ************************************************** ok: [dc1a-console.example.net] => { "result": { "action": "zeroize", "all_re": true, "changed": true, "failed": false, "media": false, "msg": "zeroize successfully initiated.", "other_re": false, "reboot": false "vmhost": false } } PLAY RECAP ************************************************************ dc1a-console.example.net : ok=2 changed=1 unreachable=0 failed=0 skipped=1 rescued=0 ignored=0
Verificação
Verificar a execução de playbook
Propósito
Verifique se os dispositivos Junos foram redefinidos com sucesso para a configuração padrão de fábrica.
Ação
Acesse o dispositivo pela porta do console como raiz. O dispositivo agora deve estar no estado amnésico.
Amnesiac <ttyd0> login:
Significado
O Amnesiac
prompt é um indicativo de um dispositivo que está inicializando de uma configuração padrão de fábrica e que não tem um nome de host configurado.
Tabela de histórico de mudanças
O suporte de recursos é determinado pela plataforma e versão que você está usando. Use o Feature Explorer para determinar se um recurso é suportado em sua plataforma.
Juniper.junos
A partir do lançamento 2.0.0, o
juniper_junos_system
módulo substitui a funcionalidade do e
junos_zeroize
dos
junos_shutdown
módulos.