Configuração de Rede Persistente - ip, nmcli, NetworkManager
O Que Você Vai Conquistar
- Definir um IP temporário e rota com
ip, e explicar por que essas configurações desaparecem no reboot - Definir persistentemente um IP estático e gateway padrão com
nmcliem sistemas NetworkManager - Escrever configuração persistente com netplan (Ubuntu) e arquivos ifcfg (família Red Hat)
- Persistir o hostname com
hostnamectle/etc/hostname - Evitar os acidentes clássicos causados por confundir configuração "temporária" e "persistente"
Este é o núcleo do objetivo 109.2 do LPIC-1 "Configuração básica de rede" (exame 102, peso 4). A habilidade testada é configurar com consciência clara de se as configurações sobrevivem a um reboot.
Como a Configuração Temporária e Persistente Diferem?
Uma configuração aplicada com ip apenas reescreve o estado ao vivo do kernel diretamente, então desaparece no reboot. Para persisti-la, você a registra em um arquivo de configuração ou em um gerenciador como o NetworkManager.
Confundir os dois leva a "configurei mas sumiu após o reboot" ou "escrevi no arquivo mas não faz efeito". Veja como os papéis se dividem.
| Tipo | Meio | Quando aplica | Após reboot |
|---|---|---|---|
| Temporária | ip addr / ip route / ip link |
Imediatamente | Perdida |
| Persistente (NM) | nmcli connection modify + up |
No up |
Mantida |
| Persistente (Ubuntu) | /etc/netplan/*.yaml + netplan apply |
No apply |
Mantida |
| Persistente (Red Hat) | ifcfg-* + ifup / reboot |
No ifup |
Mantida |
Uma regra prática para produção: primeiro defina temporariamente com ip e verifique a conectividade, depois copie o mesmo conteúdo para a configuração persistente. Editar apenas o arquivo persistente primeiro significa que um erro pode bloquear você após um reboot, dificultando a recuperação.
Definindo Temporariamente com o Comando ip
ip é a ferramenta padrão atual fornecida pelo iproute2. Na forma ip OBJETO COMANDO, ele opera em address (IP), link (interface) e route (roteamento).
O legado ifconfig / route não é mais mantido e foi substituído pelo ip. Aprenda ip como sua base tanto para o exame quanto para o trabalho real.
Verificar o estado atual
ip addr show ip link show ip route show
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 ...
inet 192.168.1.10/24 brd 192.168.1.255 scope global eth0
default via 192.168.1.1 dev eth0
192.168.1.0/24 dev eth0 proto kernel scope link src 192.168.1.10
ip addr show mostra endereços IP e ip route show mostra a tabela de roteamento. addr é abreviação de address e pode ser abreviado para a.
Adicionar e deletar um endereço IP
ip address add 192.168.1.20/24 dev eth0 ip address del 192.168.1.20/24 dev eth0
A sintaxe oficial é ip address add IFADDR dev IFNAME, e para deletar, ip address del IFADDR dev IFNAME. IFADDR é dado como "endereço/comprimento do prefixo", como 192.168.1.20/24.
Ativar / desativar uma interface
ip link set eth0 up ip link set eth0 down
ip link set IFNAME up ativa e down desativa. Mesmo se um IP está atribuído, nenhum tráfego flui enquanto o link está desativado.
Definir o gateway padrão
ip route add default via 192.168.1.1 dev eth0 ip route del default via 192.168.1.1 dev eth0
Isso aponta a rota para default (= 0.0.0.0/0) para o gateway dado com via. Isso é o que definir um gateway padrão significa. ip route del deleta usando os mesmos argumentos do add.
Tudo feito com ip até agora é temporário. Desaparece no reboot. Em produção, a persistência coberta abaixo é obrigatória.
Persistindo com nmcli
Em sistemas NetworkManager, reescrever um perfil de conexão com nmcli connection modify salva o conteúdo em disco e o torna persistente. Reative com nmcli connection up para aplicá-lo.
O NetworkManager é o padrão em muitas distribuições desktop e servidor. Ele gerencia configurações por perfil e opera em uma camada diferente das configurações temporárias do ip.
Verificar conexões e dispositivos
nmcli connection show nmcli device status
NAME UUID TYPE DEVICE Wired connection 1 abcd1234-... ethernet eth0 DEVICE TYPE STATE CONNECTION eth0 ethernet connected Wired connection 1
nmcli connection show lista perfis de conexão e nmcli device status mostra como eles mapeiam para dispositivos. connection pode ser abreviado para con e device para dev.
Persistir um IP estático
nmcli connection modify "Wired connection 1" \ ipv4.method manual \ ipv4.addresses 192.168.1.10/24 \ ipv4.gateway 192.168.1.1 \ ipv4.dns 8.8.8.8 nmcli connection up "Wired connection 1"
Connection successfully activated ...
ipv4.method manual muda para estático (manual), depois ipv4.addresses, ipv4.gateway e ipv4.dns definem os valores. O perfil é salvo no passo modify, e up aplica as configurações reais. Para reverter para DHCP, defina ipv4.method auto.
Criar um novo perfil
nmcli connection add type ethernet ifname eth0 \ ipv4.method manual ipv4.addresses 192.168.1.10/24 \ ipv4.gateway 192.168.1.1 ipv4.dns 8.8.8.8
nmcli connection add cria uma nova conexão. Mudanças via connection add / modify são persistentes (salvas em disco) por padrão, e se tornam temporárias apenas quando você adiciona --temporary.
Persistindo com netplan (Ubuntu)
O Ubuntu escreve configuração em YAML em /etc/netplan/*.yaml e aplica com netplan apply. O netplan é um renderizador que conecta configurações a um backend (NetworkManager ou systemd-networkd).
YAML é rigoroso com indentação e proíbe tabs (apenas espaços). Aprenda a estrutura do arquivo de configuração.
Exemplo YAML de IP estático
ls /etc/netplan/
01-netcfg.yaml
network:
version: 2
ethernets:
eth0:
addresses:
- 192.168.1.10/24
routes:
- to: default
via: 192.168.1.1
nameservers:
addresses:
- 8.8.8.8
- 8.8.4.4
O gateway padrão é expresso com to: default + via em routes. addresses é uma lista de "endereço/comprimento do prefixo".
Aplicar a configuração
netplan try netplan apply
netplan apply aplica a configuração. netplan try reverte automaticamente após um timeout, prevenindo acidentes de bloqueio durante trabalho remoto.
Editar o YAML sozinho não faz nada. Esquecer de executar netplan apply deixa você com "o arquivo está correto mas a configuração não tem efeito". Este é um erro clássico.
Arquivos ifcfg da Família Red Hat
No método tradicional Red Hat, a configuração é escrita em /etc/sysconfig/network-scripts/ifcfg-<device> e aplicada com ifup / ifdown ou um reboot.
Em ambientes que também usam NetworkManager, mudanças feitas via nmcli podem ser escritas nesses arquivos ifcfg. Saiba qual gerencia sua interface.
Exemplo ifcfg de IP estático
cat /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0 BOOTPROTO=none ONBOOT=yes IPADDR=192.168.1.10 PREFIX=24 GATEWAY=192.168.1.1 DNS1=8.8.8.8
Diretivas chave: BOOTPROTO=none (ou static) para estático, dhcp para DHCP. ONBOOT=yes habilita automaticamente no boot. IPADDR / PREFIX (ou NETMASK) / GATEWAY / DNS1 definem os campos de endereço.
Aplicar com ifup / ifdown
ifdown eth0 ifup eth0
ifup <device> habilita uma interface e ifdown desabilita. Após editar um arquivo ifcfg, recarregue com ifdown depois ifup.
Persistindo o Hostname
Definir o hostname estático com hostnamectl hostname <name> escreve em /etc/hostname, então sobrevive a um reboot. hostnamectl status mostra os hostnames atuais.
Existem três tipos de hostname: static, transient e pretty. A persistência visa o static, cujo armazenamento é /etc/hostname.
hostnamectl status hostnamectl hostname host01 hostnamectl status
Static hostname: localhost Static hostname: host01
hostnamectl hostname host01 é a forma atual do systemd. O antigo hostnamectl set-hostname host01 significa a mesma coisa e persiste em /etc/hostname.
Após mudar o hostname, adicione também o novo nome à linha 127.0.0.1 (ou 127.0.1.1) em /etc/hosts. Esquecer disso causa avisos de resolução de nomes ou atrasos em algumas aplicações.
Erros Comuns e Como Evitá-los
Configuração de rede com falha causa diretamente perda de conectividade. Tenha em mente esses cinco erros frequentes.
- Configurações
ipdesaparecem no reboot:ip addr/ip routesão temporárias. Para persistir, copie para nmcli, netplan ou ifcfg - Gerenciamento duplo de nmcli e ifcfg: Editar um arquivo ifcfg diretamente para uma interface gerenciada pelo NetworkManager causa conflitos. Padronize em um
- Esquecer de executar netplan apply: Editar o YAML sozinho não aplica. Sempre execute
netplan apply(ounetplan tryquando remoto) - Ainda usando
ifconfig/route: Essas ferramentas legadas estão obsoletas e foram substituídas porip addr/ip route. Useipcomo base para exame e trabalho - Esquecer de executar up após nmcli modify:
modifyapenas salva o perfil. Semnmcli connection up NAMEpara reativar, não aplica nas configurações ao vivo
Solução de Problemas
Sintoma: Configuração de IP desapareceu após reboot
Causa: Apenas uma configuração temporária como ip addr add foi usada, sem nada escrito na config persistente
Verificação:
ip addr show nmcli connection show
Correção: No NetworkManager, persista com nmcli connection modify; no Ubuntu, escreva em /etc/netplan/*.yaml. Copie o conteúdo temporário para o lado persistente.
Sintoma: Editou o YAML do netplan mas nada mudou
Causa: netplan apply não foi executado, ou há um erro de indentação no YAML (tabs misturados)
Verificação:
netplan try
Correção: Aplique com netplan apply. Se netplan try reportar um erro, revise o YAML (sem tabs, use indentação com espaços).
Sintoma: Configurou com nmcli mas o IP atual não mudou
Causa: nmcli connection modify apenas salvou; a conexão não foi reativada
Verificação:
nmcli device status
Correção: Reative com nmcli connection up "nome da conexao". Isso aplica o perfil salvo nas configurações ao vivo.
Checklist de Conclusão
- [ ] Verificou as configurações atuais com
ip addr show/ip route show - [ ] Entendeu a diferença entre config temporária (
ip) e persistente - [ ] Persistiu um IP estático com nmcli, netplan ou ifcfg
- [ ] Persistiu o gateway padrão
- [ ] Persistiu o hostname com
hostnamectl hostname - [ ] Confirmou que as configurações permanecem após um reboot ou restart de serviço
Resumo
| Ambiente | Meio de persistência | Comando de aplicação |
|---|---|---|
| Temporário (todos) | ip addr / ip route |
Imediato (perdido no reboot) |
| NetworkManager | nmcli connection modify |
nmcli connection up |
| Ubuntu | /etc/netplan/*.yaml |
netplan apply |
| Família Red Hat | ifcfg-* |
ifup / reboot |
| Hostname | /etc/hostname |
hostnamectl hostname |
A chave da configuração de rede é estar sempre ciente de "temporária ou persistente". Domine o padrão de testar rapidamente com ip e copiar para o lado persistente quando funcionar, e você evitará tanto acidentes de sumir-no-reboot quanto falhas de esquecimento-de-aplicar.
Próximas Leituras
- Fundamentos de TCP/IP, Endereços IP e Portas
- Verificação de Conectividade e Solução de Problemas de Rede
- Configuração do Cliente DNS e Resolução de Nomes