Existem várias maneiras de gerenciar o endereço IP e o nome do seu computador Ubuntu. Os administradores de sistema têm à disposição as ferramentas nmcli, netplan, hostname e hostnamectl. Embora essas ferramentas funcionem bem por si só, como você pode incluí-las para melhorar sua automação?
Você pode criar um script Bash que lidará com a configuração para você. Neste artigo, você aprenderá como definir um novo nome de host e configurar informações de endereço IP, tudo com um script Bash que aceita entradas.
Cada exemplo se baseará no outro. No final do artigo, você terá o conhecimento necessário para criar um script de configuração totalmente funcional em Bash para uso em um host Ubuntu novo ou existente.
Pré-requisitos
Você não precisa ser um especialista em scripts de shell Bash para seguir este tutorial, mas certifique-se de ter os seguintes requisitos.
- A host running on Ubuntu. This tutorial uses Ubuntu 22.04 LTS.
- Privilégios de root para o host Ubuntu.
- A text editor, such as
vim
,nano
, or VSCode.
Configurando o Nome do Host com hostnamectl
Cada host deve ter um nome único. Usar o comando hostnamectl permite que você consulte ou altere o nome do host. Neste caso, a sintaxe é mostrada abaixo para alterar seu nome de host atual para o que você desejar.
Executando o comando hostnamectl com o parâmetro comum de set-hostname seguido por um valor de string entre aspas duplas como o novo nome do host. Se você estivesse executando este comando manualmente, ele deveria funcionar sem problemas.
Mas e se você quisesse colocar isso em um script que aceita entrada do usuário? Comece usando o comando read, seguido pelo parâmetro -p, que significa prompt, e uma string para instruir o usuário sobre o que inserir para este prompt. Em seguida, salve a entrada em uma nova variável, chamada NOVO_NOME_DO_HOST.
Depois que o nome do host estiver armazenado na variável NOVO_NOME_DO_HOST, você pode fornecer a variável para o comando hostnamectl como no exemplo abaixo.
E é isso! Combinar esses dois comandos de uma linha permite que os comandos funcionem em um script! Mas você tem uma tarefa adicional: configurar as opções de rede.
Configurando as Informações do Endereço IP com netplan
O comando netplan é o método de facto para gerenciar as informações de endereço IP de uma interface de rede para hosts Ubuntu modernos. A ferramenta netplan abstrai as configurações de rede de vários back-ends usando arquivos de configuração YAML.
A ferramenta netplan lê esses arquivos de configuração durante a inicialização do sistema e os aplica às interface(s) de rede de destino. Por que isso é importante, você pode perguntar?
Ter sua configuração de rede em YAML permite que você comece a salvar ou fazer backup da sua configuração para um repositório Git. E como o Git oferece capacidades de rastreamento de mudanças, você pode usar o mesmo arquivo de configuração sem precisar recriá-lo para implantações futuras usando pipelines CI/CD. Você sabe, DevOps!
Antes de adicionar linhas a um arquivo de configuração, você deve criar o arquivo de configuração usando o comando touch.
O comando acima colocará o novo arquivo de configuração no diretório home. A partir daqui, você executará o comando echo para ecoar o que você digita e injetar isso no arquivo de configuração linha por linha usando a redireção de entrada para STDOUT > (adicionar) e >> (anexar).
Nota: Use dois espaços e não tabs para a indentação em YAML.
Com cada comando echo, você constrói a configuração YAML usando espaçamento apropriado redirecionando a entrada usando STDOUT. Alternativamente, você poderia construir esse arquivo manualmente usando um editor de texto. Mas, não é necessário construir o arquivo manualmente.
Em vez disso, solicite ao usuário que insira as informações de endereço IP de que você precisa usando o mesmo comando read
.
Dica: Uma maneira de listar todas as informações da interface de rede no Ubuntu é executando o comando ip address.
Existem muitas outras propriedades que você pode configurar, mas este tutorial não aborda em detalhes. Se desejar ver propriedades comuns adicionais, certifique-se de ler as páginas do manual do netplan.
Com as opções de rede concluídas, é hora de criar um único script!
Colocando Tudo Junto em um Script Bash
Agora, você irá combinar tudo em um único script Bash com o que aprendeu nas seções anteriores. Abra seu editor de escolha, cole o código abaixo e salve o arquivo como ~/host_deploy.sh
.
Para executar o script, execute o comando abaixo para invocar o script com bash
no seu terminal.
O script solicita que você insira um novo nome de host e informações de endereço IP e lembra que você precisa reiniciar o host para que as alterações entrem em vigor.
Agora que você tem um script funcional no diretório do usuário, você pode criar uma imagem de referência para reutilização ou compartilhamento com técnicos e aqueles que rotineiramente realizam esta tarefa.
Conclusão
Parabéns! Você chegou ao final do artigo e construiu um script Bash totalmente funcional que você pode usar repetidamente.
Você também poderia tentar usar este script com Ansible e responder às perguntas usando um play do Ansible. As tarefas deste tutorial são apenas uma pequena amostra dos itens de configuração inicial que você poderia começar a usar em seus scripts de construção e implantação.
Agora você sabe como aceitar a entrada do usuário, definir parâmetros básicos do sistema usando um script Bash e aplicar essa técnica para alterar nomes de host e endereços IP no Ubuntu Linux.
Source:
https://adamtheautomator.com/change-linux-ip-hostname-bash-script/