Rocky Linux / Configurar IP fixo, DHCP e DNS com nmcli

Para configurar um IP fixo no Rocky Linux gerenciado pelo NetworkManager, altere o perfil de conexão com nmcli e depois reative esse perfil. Identifique primeiro o perfil e a interface corretos; em um servidor remoto, tenha acesso ao console antes de aplicar a mudança, pois a conexão SSH pode cair.

Os exemplos pressupõem NetworkManager em funcionamento e uma conexão Ethernet simples, com permissão administrativa para alterar o perfil. Em nuvens, bridges, bonds ou VLANs, confirme qual camada controla o endereço; uma configuração gerada por outro serviço pode voltar a ser aplicada. Confira também a versão com nmcli --version e a ajuda local.

Identificar a interface, o perfil e a configuração atual

Consulte os dispositivos, as conexões ativas, os endereços e as rotas. DEVICE é a interface física ou virtual; NAME identifica o perfil que contém a configuração. Os dois nomes podem ser diferentes.

nmcli device status
nmcli connection show --active
ip -brief address
ip route

Nos comandos seguintes, System eth0 é apenas o nome de exemplo. Substitua-o pelo perfil ativo correto e mantenha as aspas se houver espaços. Se existirem nomes iguais, use uuid UUID-REAL no lugar do nome, com o UUID exibido por nmcli connection show. Não presuma que a interface se chame eth0.

Configurar um endereço IPv4 fixo

Registrar os valores e preparar a recuperação

Antes de alterar qualquer valor, registre o método, endereço e prefixo, gateway, DNS, rotas e opções de obtenção automática. O segundo comando guarda a consulta em um arquivo de texto novo; a máscara restringe as permissões solicitadas e set -C evita substituir um arquivo já existente.

nmcli connection show 'System eth0'
(umask 077; set -C; nmcli connection show 'System eth0' > ./system-eth0-before.txt)

Execute em um diretório privado no qual você possa gravar e confirme que a consulta e a gravação terminaram sem erro. Se o arquivo já existir, escolha outro nome. Mesmo sem pedir senhas com --show-secrets, a saída contém detalhes da rede e deve ser protegida.

Esse texto serve para consultar os valores anteriores e reaplicá-los; ele não é um arquivo importável de perfil nem um backup completo de credenciais. O manual oficial do nmcli limita connection export a conexões VPN, portanto esse comando não deve ser usado como backup de Ethernet.

Se precisar de restauração do arquivo original, identifique o arquivo real do perfil pelo UUID e faça uma cópia protegida antes da mudança. O formato e o local dependem da versão e do backend; não deduza o nome do arquivo a partir do nome da conexão. Preserve permissões e credenciais e combine com o administrador como restaurá-lo pelo console.

Definir endereço, gateway e DNS

IPv4 é o protocolo de endereços usado neste exemplo. O prefixo /24 define a rede correspondente; o gateway é o próximo salto para redes externas, e DNS (Domain Name System) resolve nomes. Use valores aprovados para sua rede, com um endereço livre e um gateway alcançável pela interface.

O bloco usa a faixa 192.0.2.0/24, reservada para documentação no RFC 5737. Substitua todos os endereços e o prefixo antes de executar; os servidores DNS do exemplo também são fictícios.

sudo nmcli connection modify 'System eth0' \
  ipv4.method manual \
  ipv4.addresses '192.0.2.20/24' \
  ipv4.gateway '192.0.2.1' \
  ipv4.dns '192.0.2.53 192.0.2.54'

A atribuição substitui a lista de endereços e a lista de DNS do perfil. Em um perfil que já tenha endereços adicionais ou rotas especiais, confira o efeito antes de prosseguir. O comando modifica o perfil persistente; o próximo passo aplica a configuração à conexão, podendo interromper o acesso.

sudo nmcli connection up 'System eth0'

Faça a ativação pelo console ou com um caminho independente de recuperação já confirmado. Depois, abra uma nova conexão SSH para o IP configurado e confira endereço, rota e resolução de nomes; uma sessão antiga ainda aberta não prova que um novo acesso funcionará.

Se houver falha, use o console para reaplicar com nmcli connection modify os valores exatos registrados e reative o mesmo perfil com sudo nmcli connection up 'System eth0'. Se apenas editou o perfil sem ativá-lo, corrija os valores antes de ativar. Não substitua uma configuração anterior fixa pelo exemplo DHCP sem confirmar que essa era a configuração pretendida.

Voltar a obter IPv4 e DNS por DHCP

DHCP (Dynamic Host Configuration Protocol) fornece automaticamente parâmetros de rede quando existe um servidor adequado. O bloco abaixo seleciona o método automático, limpa os valores IPv4 manuais mostrados e permite novamente o DNS automático.

sudo nmcli connection modify 'System eth0' \
  ipv4.method auto \
  ipv4.addresses '' \
  ipv4.gateway '' \
  ipv4.dns '' \
  ipv4.ignore-auto-dns no
sudo nmcli connection up 'System eth0'

A última linha reativa a conexão e também pode desconectar o acesso remoto. Esse procedimento não restaura todas as propriedades do perfil: rotas manuais, ipv4.ignore-auto-routes e ipv4.never-default, por exemplo, podem continuar definidos. Confira-os no registro anterior e não os altere indiscriminadamente em redes com políticas de roteamento.

Para receber o endereço por DHCP e usar somente o DNS IPv4 indicado pelo administrador, configure ipv4.ignore-auto-dns yes junto de ipv4.dns e reative o perfil. Para voltar ao DNS automático, restaure ipv4.ignore-auto-dns no e remova o DNS manual, como no bloco. A referência IPv4 do NetworkManager descreve esses controles.

Configurar IPv6

Manter a configuração automática

IPv6 é a família de endereços apresentada a seguir. O método auto permite a configuração automática conforme os anúncios da rede; não é uma garantia de que haverá endereço global, gateway ou DNS disponível.

sudo nmcli connection modify 'System eth0' ipv6.method auto

Alterar somente o método não limpa todos os valores IPv6 manuais anteriores. Se estiver voltando de uma configuração fixa, revise endereços, gateway, DNS e opções automáticas do perfil. Não desative IPv6 sem verificar dependências. As propriedades são descritas na referência IPv6 do NetworkManager.

Definir um endereço IPv6 fixo

Substitua os valores pelos fornecidos para sua rede. O bloco usa 2001:db8::/32, reservado para documentação pelo RFC 3849; ele não é um plano de endereçamento para produção.

sudo nmcli connection modify 'System eth0' \
  ipv6.method manual \
  ipv6.addresses '2001:db8:100::20/64' \
  ipv6.gateway '2001:db8:100::1' \
  ipv6.dns '2001:db8:100::53'

Depois de conferir a configuração automática ou fixa escolhida, aplique-a reativando o mesmo perfil com sudo nmcli connection up 'System eth0'. Isso pode afetar também a conexão IPv4 do perfil. Verifique os endereços com ip -6 address e as rotas com ip -6 route; o comando simples ip route da tabela abaixo consulta IPv4.

Usar o menu de texto nmtui

Se preferir editar campos em um menu, execute:

sudo nmtui
  1. Selecione Editar uma conexão (Edit a connection) e escolha o perfil identificado anteriormente.
  2. Na seção IPv4 ou IPv6, escolha o método e preencha endereço/prefixo, gateway e DNS conforme a rede. Confira os campos existentes antes de salvar.
  3. Salve e saia da edição. Em Ativar uma conexão (Activate a connection), desative e reative o perfil pelo console ou pelo caminho de recuperação preparado; essa etapa pode derrubar SSH.
  4. Consulte novamente o perfil e a configuração ativa com nmcli e ip.

Os rótulos variam com o idioma da interface. O nmtui altera perfis do mesmo NetworkManager; salvar no menu não substitui a confirmação de que a configuração foi efetivamente aplicada.

Confirmar endereços, rotas e DNS

O que verificar Comando
Endereços das interfaces ip -brief address
Rotas IPv4 ip route
Rota escolhida para um destino ip route get 192.0.2.1
Configuração do perfil nmcli connection show 'System eth0'
Estado do NetworkManager systemctl status NetworkManager
Informações ativas, incluindo DNS nmcli device show

Troque o destino de documentação e o nome do perfil da tabela pelos valores reais. Confira se o endereço e o prefixo esperados aparecem na interface correta e se a rota escolhida usa o gateway e a interface desejados. ip route get consulta a decisão de roteamento; não transmite um pacote de teste nem prova que o destino está acessível, conforme o manual do ip route.

Em nmcli device show, examine os servidores DNS ativos. Teste também a resolução de um nome conhecido da sua rede, por exemplo com getent ahosts nome-real-do-servidor, substituindo o marcador. O resultado passa pelas fontes de resolução configuradas no sistema, não exclusivamente pelo DNS. Em uma máquina com várias conexões ou IPv6, o DNS efetivo pode combinar configurações de mais de um perfil.

Se houver falha, compare primeiro perfil salvo e estado ativo. Depois investigue o enlace, a sub-rede e o gateway, duplicação de IP, VLAN, firewall e roteadores intermediários. O arquivo /etc/resolv.conf pode ser gerado pelo NetworkManager ou integrado a outro resolvedor; prefira ajustar o perfil e verificar o mecanismo utilizado antes de editar esse arquivo diretamente.

Conferir o plano antes de alterar um servidor remoto

  • Teste o console da máquina virtual, IPMI ou console serial da nuvem antes da mudança. Um segundo terminal pela mesma conexão de rede não é um acesso independente.
  • Confirme endereço livre, prefixo, gateway, switch e VLAN com quem administra a rede.
  • Verifique se firewalls, listas de acesso e serviços vinculados a um endereço específico aceitam o novo IP.
  • Planeje alterações de registros DNS, monitoramento e clientes que acessam o servidor.
  • Tenha os valores anteriores e um procedimento de recuperação pelo console. Após aplicar, confirme um novo acesso e os serviços necessários antes de considerar a mudança concluída.

O guia de administração de rede do Rocky Linux apresenta o uso de NetworkManager, nmcli, nmtui e ferramentas de diagnóstico.