Configurando a rede com o NetworkManager
- 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 eauto
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) emultiline
(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 showVocê também pode usar esse comando para mostrar detalhes sobre uma conexão especificada:
#
nmcli connection showCONNECTION_IDem 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_IDem 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_VALUEem 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ãoethernet1
:#
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_VALUEVocê deve especificar pelo menos um
connection.type
ou usartype
. O exemplo a seguir adiciona uma conexão Ethernet vinculada à interfaceeth0
com DHCP e desabilita o flagautoconnect
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_NAMEem 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 VALUEPara 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 segurasifname
: interface usada para ativaçãoname
: 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
ouTRACE
.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 connectivityOs 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.
5 Informações legais #
Copyright © 2006-2024 SUSE LLC e colaboradores. Todos os direitos reservados.
Permissão concedida para copiar, distribuir e/ou modificar este documento sob os termos da Licença GNU de Documentação Livre, Versão 1.2 ou (por sua opção) versão 1.3; com a Seção Invariante sendo estas informações de copyright e a licença. Uma cópia da versão 1.2 da licença está incluída na seção intitulada “GNU Free Documentation License” (Licença GNU de Documentação Livre).
Para ver as marcas registradas da SUSE, visite https://www.suse.com/company/legal/. Todas as marcas comerciais de terceiros pertencem a seus respectivos proprietários. Os símbolos de marca registrada (®, ™ etc.) indicam marcas registradas da SUSE e de suas afiliadas. Os asteriscos (*) indicam marcas registradas de terceiros.
Todas as informações deste manual foram compiladas com a maior atenção possível aos detalhes. Entretanto, isso não garante uma precisão absoluta. A SUSE LLC, suas afiliadas, os autores ou tradutores não serão responsáveis por possíveis erros nem pelas consequências resultantes de tais erros.