nmcli: Gerenciando Redes pela Linha de Comando
O Que Voce Vai Aprender
- Como verificar o status da rede com
nmcli - Como conectar ao Wi-Fi e definir um IP estatico inteiramente pela linha de comando
- A diferenca entre uma
connection(perfil) e umdevice(hardware), para que suas configuracoes nunca desaparecam silenciosamente
Resumo Rapido
- Inspecionar estado ->
nmcli device status/nmcli connection show - Alterar configuracoes ->
nmcli connection modify <nome> <chave> <valor> - Aplicar alteracoes ->
nmcli connection up <nome> - As alteracoes sao persistidas em um perfil (sobrevivem a reinicializacoes)
Pre-requisitos (ambiente alvo)
- Um sistema Linux executando NetworkManager (Ubuntu Desktop, RHEL, CentOS, Fedora, AlmaLinux, etc.)
nmclivem junto com o NetworkManager. Confirme que esta rodando comsystemctl status NetworkManager- Nao aplicavel a servidores gerenciados apenas por
systemd-networkdounetplan
O Que e nmcli?
Conclusao: nmcli e o cliente oficial de linha de comando do NetworkManager. Ele cria, edita e persiste configuracoes de conexao sem GUI.
nmcli (NetworkManager Command Line Interface) e o comando oficial para controlar o NetworkManager, o daemon de gerenciamento de rede padrao na maioria das distribuicoes. Quase tudo que voce pode fazer no painel de rede da GUI pode ser feito com nmcli.
nmcli organiza seu trabalho em torno de "objetos." Estes cinco sao os que voce mais usara:
| Objeto | Abreviacao | Funcao |
|---|---|---|
connection |
c |
Perfil de conexao (a unidade onde as configuracoes sao salvas) |
device |
d |
Dispositivo de rede fisico / virtual |
general |
g |
Estado geral do NetworkManager |
radio |
r |
Wi-Fi / WWAN radio ligado/desligado |
networking |
n |
Alternar toda a rede ligado/desligado |
Nomes de objetos podem ser abreviados desde que o prefixo seja unico. nmcli connection show pode ser escrito como nmcli c s. Este artigo escreve por extenso para clareza.
Como connection e device diferem?
Conclusao: Um device e hardware de rede real; uma connection e um perfil de configuracoes aplicado a ele. A persistencia fica no lado da connection.
Este e o conceito mais importante no nmcli.
- device: Uma interface real como
eth0,enp3s0ouwlan0. Reflete o estado atual (conectado ou nao, IP atual). - connection (perfil): Um arquivo de configuracoes salvas que diz "configure este dispositivo assim." Fica em
/etc/NetworkManager/system-connections/e sobrevive a reinicializacoes.
Voce pode manter varios perfis (casa, escritorio) para um unico dispositivo e alternar entre eles com up.
Atribuir um IP diretamente com ip addr add e perdido na reinicializacao. Para persistir, voce deve editar o perfil de conexao. Esta e a causa classica de "eu configurei mas a configuracao desapareceu."
Como verifico o status da rede?
Conclusao: Use
nmcli general statuspara o sistema inteiro,nmcli device statuspara dispositivos enmcli connection showpara perfis.
Comece entendendo o estado atual. Executar nmcli sem argumentos imprime detalhes completos para cada dispositivo.
# Estado geral do NetworkManager nmcli general status # Lista de dispositivos (estado e perfil ativo) nmcli device status # Lista de perfis de conexao nmcli connection show
DEVICE TYPE STATE CONNECTION enp3s0 ethernet connected Wired connection 1 wlan0 wifi connected MyHome-WiFi lo loopback unmanaged --
Para inspecionar uma conexao ou dispositivo especifico, adicione o nome.
# Mostrar todas as configuracoes de um perfil nmcli connection show "Wired connection 1" # Detalhes do dispositivo (IP, DNS, rotas, etc.) nmcli device show enp3s0
Use -f para limitar os campos exibidos. nmcli -f DEVICE,STATE device status facilita o parsing em scripts.
Como conecto ao Wi-Fi?
Conclusao: Liste SSIDs com
nmcli device wifi list, depois conecte comnmcli device wifi connect <SSID> password <senha>.
Wi-Fi e um processo de duas etapas: varredura e conexao.
# Varrer e listar redes Wi-Fi proximas nmcli device wifi list # Conectar com SSID e senha nmcli device wifi connect "MyHome-WiFi" password "your-password"
Em caso de sucesso, um perfil de conexao com o mesmo nome e criado automaticamente e reconecta nas inicializacoes seguintes.
# Alternar o radio em si (como modo aviao) nmcli radio wifi off nmcli radio wifi on
Para evitar deixar a senha no historico do shell, execute com --ask e omita password para ser solicitado interativamente. Tenha cuidado com o historico em servidores compartilhados.
Como defino um IP estatico?
Conclusao: Mude para
ipv4.method manual, definaipv4.addresses/ipv4.gateway/ipv4.dns, depois aplique comconnection up.
Esta e a operacao que voce mais usara em trabalho com servidores. Aqui esta o fluxo para mudar de DHCP para IP estatico.
# Verificar o nome do perfil (suponha "Wired connection 1" abaixo) nmcli connection show # Definir IP estatico, gateway e DNS em um unico comando nmcli connection modify "Wired connection 1" \ ipv4.method manual \ ipv4.addresses 192.168.1.100/24 \ ipv4.gateway 192.168.1.1 \ ipv4.dns "8.8.8.8 1.1.1.1" # Aplicar as alteracoes (reativar o perfil) nmcli connection up "Wired connection 1"
- Sempre inclua o comprimento do prefixo em
ipv4.addresses, por exemplo/24 - Para multiplos servidores DNS, coloque entre aspas uma lista separada por espacos:
"8.8.8.8 1.1.1.1" modifynao aplica nada por si so. Apenasupaplica as alteracoes.
Para voltar ao DHCP (automatico), defina method como auto.
nmcli connection modify "Wired connection 1" ipv4.method auto nmcli connection up "Wired connection 1"
Para construir um novo perfil do zero, use connection add.
nmcli connection add type ethernet con-name office-static ifname enp3s0 \ ipv4.method manual ipv4.addresses 10.0.0.50/24 ipv4.gateway 10.0.0.1
Como ativo e desativo conexoes?
Conclusao:
nmcli connection up <nome>ativa,downdesativa econnection deleteremove o perfil completamente.
# Ativar (conectar) um perfil nmcli connection up office-static # Desativar (desconectar, configuracoes mantidas) nmcli connection down office-static # Excluir um perfil completamente nmcli connection delete office-static
down apenas desconecta mantendo o perfil, enquanto delete remove o arquivo de configuracoes em si. Nao confunda os dois.
# Desconectar um dispositivo inteiro nmcli device disconnect enp3s0 # Alternar toda a rede desligado/ligado nmcli networking off nmcli networking on
Problemas comuns e solucoes
Conclusao: Divida os problemas em "dispositivo nao gerenciado," "alteracoes nao aplicadas" e "nao consegue conectar" para chegar a causa mais rapido.
Dispositivo aparece como unmanaged
Se nmcli device status reporta unmanaged, aquele dispositivo esta fora do controle do NetworkManager. Outro sistema como /etc/netplan/ ou /etc/network/interfaces provavelmente esta gerenciando.
# Deixar o NetworkManager gerenciar o dispositivo nmcli device set enp3s0 managed yes
Modificou mas nada mudou
nmcli connection modify apenas reescreve o perfil. Aplicar ao dispositivo ativo requer up.
nmcli connection up "Wired connection 1"
Nao sei a chave da configuracao
Ha muitas propriedades configuraveis. Liste os valores atuais para encontrar a chave que voce precisa.
# Mostrar propriedades relacionadas a ipv4 e valores atuais nmcli connection show "Wired connection 1" | grep ipv4
Antes de uma alteracao arriscada, registre os valores atuais com nmcli connection show <nome> para poder reverter. Em servidores, garanta acesso ao console antes de alterar o IP caso voce se desconecte remotamente.