Como configurar interfaces de rede usando NMCLI no Centos 7.6
Nesta página
- Nota Preliminar
- Dispositivo de rede
- Conexão de perfil
A primeira coisa depois de instalar um sistema operacional Linux como servidor é configurar a interface de rede para ter acesso remoto e, a partir de sua estação de trabalho/laptop e uma xícara de café, você pode gerenciar seu servidor conforme sua conveniência.
Neste tutorial, usaremos nmcli, que significa ferramenta de linha de comando do Network Manager para configurar nossas interfaces de rede.
Nota Preliminar
A particularidade deste comando é que você não precisa de nenhum requisito, no entanto, ele é executado como root
O formato básico do nmcli:
nmcli [OPTIONS] OBJECT { COMMAND | help }
OBJECT poderia ser uma destas opções: connection, device, general, networking, radio, agent and monitor e podemos usar um prefixo destas opções:
nmcli -p dispositivo --> nmcli -p dev --> nmcli -p d
Nota: -p significa --pretty é uma opção
Nesta parte do tutorial, abordaremos dois objetos: Conexão e Dispositivo
dispositivo de rede
Podemos usar este objeto com os comandos mais usados: status, show e set
Começaremos exibindo nossas interfaces (dispositivos) se tivermos muitos com status:
nmcli device status
Saída:
A primeira coluna é o nome interfaces, minha interface física é ens33 pode ser diferente do seu ambiente, a última coluna é o nome do perfil também é chamado de perfil de conexão.
Outra forma:
nmcli -p device
A opção -p significa Pretty é uma saída legível por humanos.
Saída :
Usamos nmcli dev show para listar todas as informações sobre todas as interfaces (é muita informação), então vamos especificar uma interface que usaremos ens33:
nmcli dev show ens33
Saída:
Todas as informações aqui são bastante explícitas, não precisamos passar por esta saída.
Podemos definir qualquer dispositivo para ser gerenciado com nmcli ou não, usando o comando set.
Para listar nossos dispositivos e verificar se é gerenciado ou não.
nmcli device status
Saída:
Observe a coluna ESTADO.
Agora vou mudar ens33 para uma interface não gerenciada.
sudo nmcli device set ens33 managed no
Saída:
Observe que não podemos mais gerenciar a interface ens33 com o NetworkManager, mas o dispositivo ainda está conectado.
Vamos habilitar para gerenciar a interface ens33:
sudo nmcli device set ens33 managed yes
Verifique o status das minhas interfaces:
nmcli device status
saída :
Por fim, veremos como ativar e desativar nossos dispositivos (interfaces) com comandos de desconectar e conectar.
sudo nmcli dev disconnect ens33
Você deve receber uma mensagem de sucesso: Dispositivo \ens33” desconectado com sucesso.
Mostrar o status dos dispositivos:
nmcli dev status
Saída:
Observe que o dispositivo ens33 está marcado em vermelho, o status é desconectado e nenhum perfil de conexão anexado. O dispositivo será ativado automaticamente após a reinicialização ou podemos ativar manualmente.
Para ativar nossos dispositivos:
sudo nmcli dev connect ens33
Saída:
A mensagem com ativação bem-sucedida e um UUID da conexão do perfil no final.
Status de nossas interfaces:
nmcli dev status
Saída:
A interface não está mais desativada.
Conexão de perfil
Agora vamos focar no perfil mostrando as informações:
nmcli connection show
Saída:
A primeira coluna é o nome da conexão (não o nome do dispositivo), a segunda é o UUID ou identificador exclusivo universal e a última é o nome do dispositivo.
Os perfis são as configurações salvas das interfaces armazenadas em /etc/sysconfig/network-scripts/ e nomeadas com um prefixo ifcfg- e depois o nome do perfil, vejamos:
Os perfis com o nome dos dispositivos são gerados automaticamente, ifcfg-amine é criado manualmente.
Agora vamos criar alguns perfis.
Observação: tenho duas interfaces físicas conectadas à minha máquina virtual ens33 e ens37.
Vamos criar um perfil de configuração ethernet com um endereço IP dinâmico.
sudo nmcli con add type ethernet con-name HomeDHCP ifname ens37
A interface é do tipo ethernet, HomeDHCP é o nome do perfil, ens37 é a interface à qual o perfil está conectado.
Saída:
Vamos ver os perfis agora:
Observe aqui que o perfil foi criado, mas não anexado à interface ens37, temos que ativar nosso novo perfil:
sudo nmcli con up HomeDHCP
Cuidado, o nome do perfil diferencia maiúsculas de minúsculas.
Saída:
Vamos ver novamente:
Observe que a primeira coluna NAME HomeDHCP está anexada à interface ens37. E o perfil ens37 (gerado automaticamente) não está anexado a nenhuma das interfaces.
Vamos ver dentro do perfil:
nmcli con show HomeDHCP
E verifique o arquivo criado em /etc/sysconfig/network-scripts/ifcfg-HomeDHCP
Vamos desativar o perfil HomeDHCP da interface ens37.
sudo nmcli con down HomeDHCP
saída :
Observe que o perfil padrão está anexado à interface ens37.
Vamos deletar o perfil HomeDHCP:
sudo nmcli con delete HomeDHCP
Saída:
Não há mais perfil HomeDHCP.
Vamos agora criar um perfil de configuração ethernet chamado HomeStatic com endereço IP estático.
sudo nmcli con add type ethernet con-name HomeStatic ifname ens37 ip4 192.168.0.10/24 gw4 192.168.0.1
Saída:
Confira nossa conexão de interfaces:
nmcli con s
Saída:
Lembre-se de que temos que anexar o perfil à interface ativando o perfil:
sudo nmcli con up HomeStatic
Saída:
Exibir a configuração do perfil:
nmcli dev show ens33
Saída:
Outra maneira, mas há muitas informações, então vamos nos concentrar no que queremos ver.
Saída:
Observe aqui que não temos nenhuma informação de servidores DNS, então adicionaremos um servidor dns com outro comando:
sudo nmcli con modify HomeStatic ipv4.dns "8.8.8.8 8.8.4.4"
Verifica :
nmcli c s HomeStatic
Outra maneira de adicionar um endereço de servidor DNS:
sudo nmcli c mod HomeStatic +ipv4.dns "192.168.0.1"
E, claro, para excluir um endereço de servidor DNS:
sudo nmcli c mod HomeStatic -ipv4.dns "192.168.0.1"
Até agora passamos pelas operações básicas de rede para se comunicar com nossos servidores com esses dois objetos e seus comandos no próximo tutorial continuaremos a explorar e tentaremos terminar com um script para resumir o que fizemos.