Configure Endereços IP Estáticos Usando NetworkManager no RHEL/CentOS

Configure um IP estático persistente no RHEL ou CentOS com `nmcli`, incluindo gateway, DNS, ativação e verificações de reversão.

Configure Endereços IP Estáticos Usando NetworkManager no RHEL/CentOS

A rede é uma das primeiras coisas que você precisa acertar em um servidor. No RHEL e CentOS, o NetworkManager pode configurar um endereço IP estático persistente sem editar manualmente os arquivos de interface, o que é mais seguro nas versões mais recentes do Enterprise Linux.

Este guia aborda os comandos nmcli para definir um endereço, gateway e servidores DNS, ativar o perfil e verificar se a alteração sobrevive a uma reinicialização.

Entendendo o NetworkManager e o nmcli

Antes de mergulhar nas etapas de configuração, vamos esclarecer os componentes principais que usaremos:

O que é o NetworkManager?

O NetworkManager é um daemon que gerencia as configurações de rede, facilitando o gerenciamento de conexões de rede. Ele pode gerenciar vários tipos de conexão, incluindo Ethernet, Wi-Fi, banda larga móvel e VPNs. Ele detecta e configura automaticamente os dispositivos de rede e tenta manter uma conexão de rede ativa, alternando entre as conexões disponíveis conforme necessário. Para servidores, ele garante que suas interfaces de rede sejam configuradas corretamente e persistam após as reinicializações.

O que é nmcli?

nmcli é o cliente de linha de comando para o NetworkManager. Ele permite controlar o NetworkManager e configurar conexões de rede a partir do terminal. É particularmente útil em ambientes de servidor headless onde uma interface gráfica não está disponível. Os comandos nmcli são intuitivos e fornecem uma maneira robusta de interagir com toda a gama de recursos do NetworkManager, desde exibir o status do dispositivo de rede até criar e modificar perfis de conexão complexos.

Pré-requisitos

Para seguir este guia, certifique-se de ter:

  • Privilégios de Root: Você precisará de acesso sudo ou estar logado como usuário root para fazer alterações na configuração de rede.
  • Informações do Sistema: O endereço IP estático, máscara de sub-rede (ou notação CIDR), gateway padrão e endereços IP do servidor DNS que você pretende usar.
  • Interface de Rede Identificada: Conhecimento do nome da interface de rede (por exemplo, enp0s3, eth0) que você deseja configurar. Abordaremos como encontrar isso.

Configuração Passo a Passo de um Endereço IP Estático

Aqui está como configurar um endereço IP estático usando nmcli.

Passo 1: Identifique Sua Interface de Rede

Primeiro, você precisa saber o nome da interface de rede que deseja configurar. Você pode listar todos os dispositivos de rede ativos e seus status usando nmcli device ou nmcli device status:

nmcli device status

Exemplo de Saída:

DEVICE     TYPE      STATE                   CONNECTION
enp0s3     ethernet  connected               System enp0s3
lo         loopback  unmanaged               --

Neste exemplo, enp0s3 é nossa interface Ethernet. Anote o nome da sua interface.

Passo 2: Crie um Novo Perfil de Conexão de Rede

Geralmente é uma boa prática criar um novo perfil de conexão para sua configuração de IP estático, em vez de modificar diretamente um gerenciado por DHCP, especialmente se você pode querer reverter facilmente. Um perfil de conexão armazena todas as configurações para uma conexão de rede específica.

Para criar um novo perfil de conexão Ethernet, use o comando nmcli connection add. Você especificará o tipo de conexão, um nome de conexão descritivo (con-name) e o nome da interface (ifname).

sudo nmcli connection add type ethernet con-name my-static-eth ifname enp0s3
  • type ethernet: Especifica uma conexão Ethernet.
  • con-name my-static-eth: Atribui um nome a este novo perfil de conexão. Escolha algo descritivo.
  • ifname enp0s3: Vincula este perfil de conexão à interface de rede física enp0s3.

Alternativa: Modificando um Perfil Existente

Se você preferir modificar uma conexão existente (por exemplo, System enp0s3 da saída nmcli device status), você usaria nmcli connection modify com seu con-name existente.

sudo nmcli connection modify "System enp0s3" # substitua pelo nome da sua conexão

Nota: Para simplificar e clareza, este guia assumirá que você criou um novo perfil de conexão chamado my-static-eth.

Passo 3: Configure as Configurações IPv4 (IP, Gateway, DNS)

Agora, vamos configurar o endereço IP estático, gateway e servidores DNS para nosso perfil de conexão my-static-eth. É crucial definir o método IPv4 como manual para desabilitar o DHCP.

Configurando o Endereço IP e Gateway

Use as propriedades ipv4.addresses e ipv4.gateway. O endereço IP deve estar em notação CIDR (por exemplo, 192.168.1.100/24).

sudo nmcli connection modify my-static-eth ipv4.addresses 192.168.1.100/24 ipv4.gateway 192.168.1.1
  • ipv4.addresses 192.168.1.100/24: Define o endereço IP estático como 192.168.1.100 com uma máscara de sub-rede de 24 bits (255.255.255.0).
  • ipv4.gateway 192.168.1.1: Define o gateway padrão para a rede.

Configurando Servidores DNS

Especifique um ou mais endereços IP do servidor DNS. Separe vários endereços com vírgulas.

sudo nmcli connection modify my-static-eth ipv4.dns "1.1.1.1,8.8.8.8"

Se sua organização executa DNS interno, use esses IPs de resolvedor. Por exemplo, um servidor privado pode usar 192.168.1.10 e 192.168.1.11.

Desabilitar DHCP para IPv4

Defina o método IPv4 como manual; caso contrário, o NetworkManager ainda pode tentar DHCP para este perfil.

sudo nmcli connection modify my-static-eth ipv4.method manual

Se o servidor não deve usar IPv6 nesta conexão, desabilite-o explicitamente:

sudo nmcli connection modify my-static-eth ipv6.method disabled

Faça isso apenas quando sua rede não depender de IPv6.

Passo 4: Ative o Perfil Estático

Ative a nova conexão. Se você estiver trabalhando via SSH, execute isso a partir do acesso ao console ou agende uma reversão antes de alterar a interface ativa.

sudo nmcli connection up my-static-eth

Se um perfil DHCP antigo ainda estiver ativo na mesma interface, desative-o após confirmar que o perfil estático funciona:

sudo nmcli connection down "System enp0s3"

Substitua "System enp0s3" pelo nome real da conexão antiga de nmcli connection show.

Passo 5: Verifique o Endereço, Rota e DNS

Verifique a conexão ativa:

nmcli connection show --active

Confirme o endereço IP:

ip addr show enp0s3

Confirme a rota padrão:

ip route

Você deve ver uma rota semelhante a:

default via 192.168.1.1 dev enp0s3

Verifique as configurações de DNS gerenciadas pelo NetworkManager:

nmcli device show enp0s3 | grep DNS

Em seguida, teste a conectividade real:

ping -c 3 192.168.1.1
ping -c 3 1.1.1.1
getent hosts example.com

O primeiro comando verifica o gateway, o segundo verifica a conectividade IP de saída e o terceiro verifica a resolução DNS.

Alterações Remotas Mais Seguras

Alterações de IP estático podem desconectar sua sessão SSH se você digitar o endereço ou gateway errado. Antes de aplicar o perfil remotamente, mantenha uma segunda sessão aberta e considere agendar uma reversão:

sudo shutdown -r +5 "Reinicialização para reversão de rede"

Se o novo IP estático funcionar, cancele a reinicialização:

sudo shutdown -c

Em sistemas onde uma reinicialização não é aceitável, crie um trabalho at temporário ou use acesso ao console fora de banda para que você possa se recuperar se a rota estiver errada.

Conclusão

Use perfis de conexão nmcli para configuração de IP estático persistente no RHEL e CentOS. O conjunto mínimo de trabalho é ipv4.addresses, ipv4.gateway, ipv4.dns e ipv4.method manual; o fluxo de trabalho mais seguro é ativar o perfil, verificar o comportamento da rota e DNS, e então remover ou desabilitar o perfil DHCP antigo somente depois que o servidor estiver acessível em seu novo endereço.