Ir para o conteúdoIr para navegação de página: página anterior [tecla de acesso p]/próxima página [tecla de acesso n]
documentation.suse.com / Configurando a rede com o NetworkManager

Configurando a rede com o NetworkManager

Data de Publicação: 12/12/2024
O QUE É?

O artigo aborda os fundamentos do NetworkManager e o uso da ferramenta CLI para configurar a rede.

POR QUÊ?

Você usa o NetworkManager e deseja configurar a rede.

DEDICAÇÃO

A leitura do artigo leva aproximadamente 15 minutos.

META

Você terá um melhor entendimento de como o NetworkManager funciona e como as conexões de rede podem ser configuradas.

1 Sobre o NetworkManager

O NetworkManager é um programa que gerencia a conexão de rede principal e outras interfaces de conexão. O NetworkManager foi projetado para ser totalmente automático por padrão. O NetworkManager é processado pelo systemd e inclui todos os arquivos de unidade de serviço necessários.

O NetworkManager armazena todas as configurações de rede como uma conexão, que é uma coleção de dados que descreve como criar ou se conectar a uma rede. Essas conexões são armazenadas como arquivos no diretório /etc/NetworkManager/system-connections/.

Uma conexão está ativa quando um dispositivo específico a utiliza. O dispositivo pode ter mais de uma conexão configurada, mas apenas uma pode estar ativa em um determinado momento. As outras conexões podem ser usadas para alternar rapidamente de uma conexão para outra. Por exemplo, se a conexão ativa não estiver disponível, o NetworkManager tentará conectar o dispositivo a outra conexão configurada.

Para gerenciar conexões, use o comando nmcli, descrito na Seção 4, “Gerenciando a rede com o NetworkManager”.

2 O arquivo de configuração NetworkManager.conf

O principal arquivo de configuração do NetworkManager é /etc/NetworkManager/NetworkManager.conf. Esse arquivo pode ser usado para configurar o comportamento do NetworkManager.

O arquivo consiste em seções de pares de chave-valor. Cada par de chave-valor deve pertencer a uma seção. Uma seção começa com um nome entre []. As linhas que começam com # são consideradas comentários. A configuração mínima precisa incluir a seção [main] com o valor plugins:

[main]
plugins=keyfile

O plug-in keyfile suporta todos os tipos de conexão e recursos do NetworkManager.

O arquivo de configuração padrão contém a seção connectivity que especifica o URI para verificar a conexão de rede.

No SUSE Linux Micro, você também pode usar outras seções. Para obter detalhes, consulte networkmanager.conf(5) ou Gnome's developer guide.

3 Iniciando e parando o NetworkManager

Como o NetworkManager é um serviço do systemd, você pode usar comandos comuns do systemd para iniciar, parar ou reiniciar o NetworkManager.

Para iniciar o NetworkManager:

# systemctl start network

Para reiniciar o NetworkManager:

# systemctl restart network

Para parar o NetworkManager:

# systemctl stop network

4 Gerenciando a rede com o NetworkManager

4.1 O comando nmcli

O NetworkManager fornece uma interface CLI para gerenciar suas conexões. Usando a interface do nmcli, você pode se conectar a uma rede específica, editar uma conexão, editar um dispositivo etc. Veja abaixo a sintaxe genérica do nmcli:

# nmcliOPTIONSSUBCOMMANDSUBCOMMAND_ARGUMENTS

em que a descrição de OPTIONS está na Seção 4.1.1, “As opções do comando nmcli e SUBCOMMAND pode ser qualquer um dos seguintes:

connection

permite configurar sua conexão de rede. Para obter informações detalhadas, consulte a Seção 4.1.2, “O subcomando connection.

device

Para obter informações detalhadas, consulte a Seção 4.1.3, “O subcomando device.

general

mostra o status e as permissões. Para obter detalhes, consulte a Seção 4.1.4, “O subcomando general.

monitor

monitora a atividade do NetworkManager e observa mudanças no estado da conectividade e dos dispositivos. Esse subcomando não aceita argumentos.

networking

consulta o status da rede. Para obter informações detalhadas, consulte a Seção 4.1.5, “O subcomando networking.

4.1.1 As opções do comando nmcli

Além dos subcomandos e dos argumentos, o comando nmcli pode ter as seguintes opções:

-a|--ask

o comando interrompe sua execução para solicitar qualquer argumento ausente, por exemplo, uma senha para se conectar a uma rede.

-c|--color {yes|no|auto}

controla a saída de cores: yes para habilitar as cores, no para desabilitá-las e auto cria saída de cores apenas quando a saída padrão é direcionada a um terminal.

-m|--mode {tabular|multiline}

alterna entre table (cada linha descreve uma única entrada e as colunas definem propriedades específicas da entrada) e multiline (cada entrada abrange mais linhas e cada propriedade está em sua própria linha). tabular é o valor padrão.

-h|--help

imprime a ajuda.

-w|--wait seconds

define um período de tempo de espera durante o qual aguardar o NetworkManager concluir as operações. O uso dessa opção é recomendado para comandos que podem levar mais tempo para serem concluídos, por exemplo, ativação de conexão.

4.1.2 O subcomando connection

O comando connection permite gerenciar conexões ou ver qualquer informação sobre conexões específicas. O nmcli connection oferece os seguintes comandos para gerenciar as conexões de rede:

show

para listar conexões:

# nmcli connection show

Você também pode usar esse comando para mostrar detalhes sobre uma conexão especificada:

# nmcli connection showCONNECTION_ID

em que CONNECTION_ID é qualquer um dos identificadores: um nome, UUID ou caminho de conexão

up

para ativar a conexão especificada. Use o comando para recarregar uma conexão. Execute também esse comando após realizar qualquer mudança na conexão.

# nmcli connection up [--active] [CONNECTION_ID]

Quando --active é especificado, apenas os perfis ativos são exibidos. O padrão é exibir as conexões ativas e a configuração estática.

down

para desativar uma conexão.

# nmcli connection downCONNECTION_ID

em que CONNECTION_ID é qualquer um dos identificadores: um nome, UUID ou caminho de conexão

Se você desativar a conexão, ela não será reconectada mais tarde, mesmo que tenha o flag autoconnect.

modify

para mudar ou apagar uma propriedade de uma conexão.

# nmcli connection modifyCONNECTION_IDSETTING.PROPERTYPROPERTY_VALUE

em que:

  • CONNECTION_ID é qualquer um dos identificadores: um nome, UUID ou caminho de conexão

  • SETTING.PROPERTY é o nome da propriedade, por exemplo, ipv4.addresses

  • PROPERTY_VALUE é o valor desejado de SETTING.PROPERTY

O exemplo a seguir desativa a opção autoconnect na conexão ethernet1:

# nmcli connection modify ethernet1 connection.autoconnect no
add

para adicionar uma conexão com os detalhes fornecidos. A sintaxe do comando é semelhante à do comando modify:

# nmcli connection addCONNECTION_IDsave YES|NOSETTING.PROPERTYPROPERTY_VALUE

Você deve especificar pelo menos um connection.type ou usar type. O exemplo a seguir adiciona uma conexão Ethernet vinculada à interface eth0 com DHCP e desabilita o flag autoconnect da conexão:

# nmcli connection add type ethernet autoconnect no ifname eth0
edit

para editar uma conexão existente usando um editor interativo.

# nmcli connection editCONNECTION_ID
clone

para clonar uma conexão existente. Veja a seguir a sintaxe mínima:

# nmcli connection cloneCONNECTION_IDNEW_NAME

em que CONNECTION_ID é a conexão que será clonada.

delete

para apagar uma conexão existente:

# nmcli connection deleteCONNECTION_ID
monitor

para monitorar a conexão especificada. Cada vez que a conexão muda, o NetworkManager imprime uma linha.

# nmcli connection monitorCONNECTION_ID
reload

para recarregar todos os arquivos de conexão do disco. Como o NetworkManager não monitora as mudanças feitas nos arquivos de conexão, você precisa usar esse comando sempre que modificar os arquivos. Esse comando não usa mais nenhum subcomando.

load

para carregar/recarregar um arquivo de conexão específico, execute:

# nmcli connection loadCONNECTION_FILE

Para obter detalhes sobre os comandos mencionados acima, consulte nmcli documentation.

4.1.3 O subcomando device

O subcomando device permite mostrar e gerenciar interfaces de rede. O comando nmcli device reconhece os seguintes comandos:

status

para imprimir o status de todos os dispositivos.

# nmcli device status
show

mostra informações detalhadas sobre um dispositivo. Se nenhum dispositivo for especificado, todos os direitos serão exibidos.

# mcli device show [DEVICE_NAME]
connect

para conectar um dispositivo. O NetworkManager tenta encontrar uma conexão adequada que será ativada. Se não houver conexão compatível, um novo perfil será criado.

# nmcli device connectDEVICE_NAME
modify

realiza mudanças temporárias na configuração que está ativa no dispositivo específico. As mudanças não são armazenadas no perfil de conexão.

# nmcli device modifyDEVICE_NAME [+|-] SETTING.PROPERTY VALUE

Para obter os valores possíveis de SETTING.PROPERTY, consulte nm-settings-nmcli(5).

O exemplo abaixo inicia o compartilhamento da conexão compartilhada IPv4 no dispositivo con1.

# nmcli dev modify con1 ipv4.method shared
disconnect

desconecta um dispositivo e impede que ele ative automaticamente outras conexões sem intervenção manual.

# nmcli device disconnectDEVICE_NAME
delete

para apagar a interface do sistema. Você pode usar o comando para apagar apenas dispositivos de software, como vínculos e pontes. Você não pode apagar dispositivos de hardware com esse comando.

# nmcli deviceDEVICE_NAME
wifi

lista todos os pontos de acesso disponíveis.

# nmcli device wifi
wifi connect

conecta-se a uma rede Wi-Fi especificada por seu SSID ou BSSID. O comando usa as seguintes opções:

  • password: senha para redes seguras

  • ifname: interface usada para ativação

  • name: você pode dar um nome à conexão

# nmcli device wifi connectSSID [password PASSWORD_VALUE] [ifname INTERFACE_NAME]

Para se conectar a uma rede Wi-Fi GUESTWiFi com a senha pass$word2#@@, execute:

# nmcli device wifi connectGUESTWiFi password pass$word2#@@

4.1.4 O subcomando general

Você pode usar esse comando para ver o status e as permissões do NetworkManager e mudar o nome de host e o nível de registro. O nmcli general reconhece os seguintes comandos:

status

exibe o status geral do NetworkManager. Sempre que você não especificar um comando para nmcli general, o status será usado por padrão.

# nmcli general status
hostname

se você não inserir um novo nome de host como argumento, o nome de host atual será exibido. Se você especificar um novo nome de host, o valor será usado para definir um novo nome de host.

# nmcli general hostname [HOSTNAME]

Por exemplo, para definir MyHostname, execute:

# nmcli general hostname MyHostname
permissions

mostra sua permissão para operações do NetworkManager, como habilitar ou desabilitar a rede, modificar conexões etc.

# nmcli general permissions
logging

mostra e muda os níveis de registro e os domínios do NetworkManager. Sem argumentos, o comando exibe os níveis de registro e os domínios atuais.

# nmcli general logging [levelLEVEL domains DOMAIN]

LEVEL é qualquer um destes valores: OFF, ERR, WARN, INFO, DEBUG ou TRACE.

DOMAIN é uma lista de valores que podem ser os seguintes: PLATFORM, RFKILL, ETHER, WIFI, BT, MB, DHCP4, DHCP6, PPP, WIFI_SCAN, IP4, IP6, AUTOIP4, DNS, VPN, SHARING, SUPPLICANT, AGENTS, SETTINGS, SUSPEND, CORE, DEVICE, OLPC, WIMAX, INFINIBAND, FIREWALL, ADSL, BOND, VLAN, BRIDGE, DBUS_PROPS, TEAM, CONCHECK, DCB, DISPATCH, AUDIT, SYSTEMD, VPN_PLUGIN, PROXY.

4.1.5 O subcomando networking

O subcomando permite consultar o status da rede. Ao usar esse comando, você também pode habilitar ou desabilitar a rede. O comando nmcli networking usa os seguintes comandos:

on/off

habilita ou desabilita a rede. O comando off desativa todas as interfaces gerenciadas pelo NetworkManager.

# nmcli networking on
connectivity

exibe o estado de conectividade da rede. Se check for usado, o NetworkManager executará uma nova verificação do estado. Do contrário, o último estado detectado será exibido.

# nmcli networking connectivity

Os estados possíveis são:

  • none: o host não está conectado a nenhuma rede.

  • portal: o host está protegido por um portal cativo e não pode acessar toda a Internet.

  • limited: o host está conectado a uma rede, mas não tem acesso à Internet.

  • full: o host está conectado a uma rede e tem acesso completo à Internet.

  • unknown: o NetworkManager não pôde determinar o estado da rede.