Pesquisa de site

Como configurar interfaces de rede usando NMCLI no Centos 7.6


Nesta página

  1. Nota Preliminar
  2. Dispositivo de rede
  3. 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.

Artigos relacionados: