ip ou nmcli? Qual Usar para Gerenciar Redes no Linux de Forma Eficiente

Quando o assunto é configuração de rede no Linux moderno, dois grandes nomes se destacam: o comando ip e o utilitário nmcli. Apesar de ambos serem poderosos, suas finalidades são diferentes — e escolher o errado pode complicar seu trabalho desnecessariamente.

Se você é novo no Linux, está migrando de servidores tradicionais ou apenas tentando entender qual ferramenta adotar, este guia foi feito para você.

Comparativo Rápido: ip vs nmcli

Característicaipnmcli
Nível de controleBaixo (detalhado, técnico)Alto (abstraído, automatizado)
Instalação necessáriaJá vem com o Linux (iproute2)Requer NetworkManager
PersistênciaMudanças temporáriasMudanças persistem após reboot
Ideal paraScripts, depuração, ambientes mínimosWi-Fi, Ethernet, configurações permanentes
Dependência de serviçosNenhumaRequer o serviço NetworkManager ativo
Uso principalConfigurar interfaces, rotas, IPsCriar, gerenciar e monitorar conexões

Baixar

Copiar

O que é o comando ip?

O comando ip faz parte do pacote iproute2 e é considerado o substituto moderno do obsoleto ifconfig. Ele permite o gerenciamento de interfaces de rede, rotas, endereços IPs e outras configurações em nível baixo.

Exemplos de uso do ip

  • Ver todas as interfaces e endereços:

  ip addr
  • Ativar ou desativar uma interface de rede:

  ip link set eth0 up
  ip link set eth0 down
  • Atribuir/remover IP temporariamente:

  ip addr add 192.168.1.100/24 dev eth0
  ip addr del 192.168.1.100/24 dev eth0
  • Verificar a tabela de rotas:

  ip route
  • Adicionar uma rota:

  ip route add 192.168.2.0/24 via 192.168.1.1 dev eth0

Vantagens do ip

  • Controle total sobre interfaces e rotas.
  • Funciona sem dependências adicionais.
  • Ideal para servidores minimalistas e recuperação de sistemas.

Limitações do ip

  • Mudanças não persistem após reinicialização, a menos que sejam salvas manualmente.
  • Saída do comando pode ser difícil de interpretar.
  • Pouco amigável para tarefas como gerenciamento de Wi-Fi e VPN.

O que é o nmcli?

nmcli (NetworkManager Command-Line Interface) é a interface CLI para o NetworkManager, um serviço que gerencia conexões de rede em muitas distribuições Linux.

Ele oferece uma abordagem de alto nível, tratando configurações de rede de forma automatizada. Ideal para usuários que desejam persistência, perfis de conexão e simplicidade na configuração.

Exemplos de uso do nmcli

  • Ver conexões ativas e salvas:

  nmcli connection show
  • Conectar-se a uma rede Wi-Fi:

  nmcli device wifi connect "MinhaRede" password "senha123"
  • Criar conexão Ethernet com IP estático:

  nmcli connection add type ethernet ifname eth0 con-name "StaticLAN" ip4 192.168.1.100/24 gw4 192.168.1.1
  • Modificar IP de uma conexão existente:

  nmcli connection modify "StaticLAN" ipv4.addresses 192.168.1.200/24
  • Ativar ou desativar uma interface:

  nmcli device connect eth0
  nmcli device disconnect eth0

Vantagens do nmcli

  • Configurações persistentes após reboot.
  • Gerencia redes Wi-Fi, Ethernet, VPN, entre outras.
  • Permite criação e modificação de perfis reutilizáveis.
  • Ideal para automação de provisionamento e scripts de implantação.

Limitações do nmcli

  • Depende do serviço NetworkManager, nem sempre presente em instalações minimalistas.
  • Pode ocultar detalhes específicos da interação de baixo nível com a pilha de rede.
  • Mais lento para tarefas simples, por interagir com um daemon.

Quando usar ip e quando usar nmcli?

Use ip quando:

  • Precisa configurar rapidamente uma interface com IP temporário.
  • Está debugando rotas ou interfaces em ambientes reduzidos.
  • O sistema não possui ou não deve utilizar o NetworkManager.

Use nmcli quando:

  • Deseja que suas configurações de rede sejam persistentes.
  • Precisa configurar Wi-Fi, VPN ou múltiplos perfis.
  • Está trabalhando em estações de trabalho, ambientes gerenciados ou servidores com NetworkManager ativo.

Exemplos de Cenário

Cenário 1: Atribuir IP temporário

ip addr add 192.168.1.100/24 dev eth0

Cenário 2: Conectar-se a Wi-Fi

nmcli device wifi connect "MinhaWiFi" password "minhasenha"

Cenário 3: Criar conexão Ethernet com IP fixo

nmcli connection add type ethernet ifname eth0 con-name "conexao1" ip4 192.168.1.10/24 gw4 192.168.1.1

Cenário 4: Diagnosticar endereços IP atuais

ip addr

Edição Manual com NetworkManager

Se preferir editar configurações manualmente:

  1. Listar conexões:
   ls /etc/NetworkManager/system-connections/
  1. Editar arquivo:

   sudo nano /etc/NetworkManager/system-connections/eth0.nmconnection
  1. Adicionar/ajustar configurações:

   [ipv4]
   method=manual
   addresses=192.168.1.100/24
   gateway=192.168.1.1
   dns=8.8.8.8;8.8.4.4;
  1. Reiniciar o serviço:

   sudo systemctl restart NetworkManager

ip e nmcli são ferramentas essenciais no arsenal de qualquer administrador ou engenheiro de DevOps. Enquanto o ip fornece precisão e controle em camadas mais baixas da rede, o nmcli oferece praticidade, automação e persistência para ambientes modernos.

Dominar ambos permite que você trabalhe com versatilidade em qualquer tipo de infraestrutura, desde servidores enxutos sem interfaces gráficas até sistemas ricos em recursos com múltiplas conexões simultâneas.