Gerente da rede - NetworkManager

Gerente da rede
Daemons do sistema de desktop Linux e seus front-end gráficos .svg
NetworkManager é um daemon do sistema, com vários front-ends gráficos disponíveis
Autor (es) original (is) chapéu vermelho
Desenvolvedor (s) principalmente Red Hat
lançamento inicial 19 de novembro de 2004 ; 16 anos atrás ( 19/11/2004 )
Versão estável
1.32.10 / 18 de agosto de 2021 ; 15 dias atrás ( 18 de agosto de 2021 )
Repositório
Escrito em C com GObject
Sistema operacional SUS / POSIX
Plataforma Tipo Unix
Modelo
Licença GNU GPL
Local na rede Internet networkmanager .dev

NetworkManager é um daemon que fica em cima do libudev e de outras interfaces do kernel do Linux (e alguns outros daemons) e fornece uma interface de alto nível para a configuração das interfaces de rede.

Justificativa

NetworkManager é um utilitário de software que visa simplificar o uso de redes de computadores . NetworkManager está disponível para kernel Linux based e outros Unix-like sistemas operacionais .

Como funciona

Kernel Linux: drivers de dispositivo de rede e pilha de rede. Os programas utilitários não são descritos, eles se comunicam por meio do SCI com os diferentes componentes do kernel.

Para conectar computadores uns aos outros, vários protocolos de comunicação foram desenvolvidos, por exemplo, IEEE 802.3 (Ethernet), IEEE 802.11 ("sem fio"), IEEE 802.15.1 (Bluetooth), PPPoE , PPPoA e muitos mais. Cada computador participante deve ter o hardware adequado, por exemplo , placa de rede ou placa de rede sem fio e esse hardware deve ser configurado de acordo para poder estabelecer uma conexão.

No caso de um kernel monolítico, todos os drivers de dispositivo fazem parte dele. O hardware é acessado (e também configurado) por meio de seu driver de dispositivo. No caso do Linux, o kernel apresenta para cada driver de dispositivo uma representação na forma de um arquivo de dispositivo . Todos os arquivos de dispositivo são encontrados no /devdiretório e, tradicionalmente, os arquivos de dispositivo para hardware Ethernet foram nomeados eth0, eth1etc. Desde o systemd, eles são nomeados de forma diferente:, enp4s0etc. (Esta abstração é chamada de conceito de tudo é um arquivo .)

Qualquer coisa no espaço do usuário acessa o hardware por meio de seu arquivo de dispositivo. O utilitário de configuração para configurar o hardware e programas como o navegador da web / SSH / NTP -client / etc. para enviar e receber pacotes de rede.

Configuração de interfaces de rede sem NetworkManager

No Linux e em todos os sistemas operacionais semelhantes ao Unix, os utilitários ifconfige os mais novos ip(do pacote iproute2) são usados ​​para configurar o hardware IEEE 802.3 e IEEE 802.11 . Esses utilitários configuram o kernel diretamente e a configuração é aplicada imediatamente. Após a inicialização, o usuário deve configurá-los novamente.

Para aplicar a mesma configuração estática após cada inicialização, os programas PID1 são usados: O init do System V executa scripts de shell e programas binários, o systemd analisa seus próprios arquivos conf (e executa programas). A configuração de inicialização para interfaces de rede é armazenada em /etc/network/interfacespara distribuições Debian Linux e seus derivados ou ifcfgarquivos em /etc/sysconfig/network-scripts/para Fedora e seus derivados, e servidores DNS em /etc/resolv.conf. /etc/network/interfacesou /etc/sysconfig/network-scripts/ifcfg-*pode definir um endereço IP estático ou dhclienta ser usado, e todos os tipos de VPN podem ser configurados aqui também.

Caso seja necessário alterar a configuração, o protocolo DHCP percorre um longo caminho para fazê-lo automaticamente, sem que o usuário perceba.

Configuração de interfaces de rede com NetworkManager

  • O NetworkManager pode ser acessado via dbus .
  • A configuração é armazenada em /etc/NetworkManager/NetworkManager.conf

No entanto, as configurações dinâmicas (ou seja, não armazenadas em um arquivo de configuração estática, mas tiradas de fora do host, e potencialmente alteradas após a inicialização) têm sido uma configuração cada vez mais comum, especialmente à medida que mudamos de servidores fisicamente grandes para hosts mais portáteis que pode ser conectado e desconectado (ou movido de ponto de acesso WiFi para ponto de acesso WiFi) de acordo com a vontade do usuário. Bootp foi um dos primeiros protocolos usados ​​para isso, e até hoje seu descendente DHCP ainda é muito comum. Muitos sistemas semelhantes ao Unix incluem um programa chamado dhclient para lidar com essa configuração dinâmica. Dada uma configuração dinâmica relativamente estática ou simples, a configuração estática modificada pelo dhclient funciona bem. No entanto, conforme as redes e suas topologias ficam mais complexas, um gerenciador central para todas as informações de configuração de rede se torna mais essencial.

Arquitetura de software

NetworkManager tem dois componentes:

  1. o daemon NetworkManager , o software real que gerencia conexões e relata mudanças na rede
  2. vários gráficos front-ends para diversos ambientes de desktop gráficos, como o GNOME Shell , Painel GNOME , KDE Plasma Workspaces , canela , etc.

Ambos os componentes são planejados pelos desenvolvedores para serem razoavelmente portáveis, e o miniaplicativo está disponível para ambientes de desktop que implementam o protocolo Freedesktop.org System Tray, incluindo GNOME, KDE Plasma Workspaces, Enlightenment (software) e Xfce . Como os componentes se comunicam via D-Bus, os aplicativos podem ser escritos para serem “ link -aware” ou para substituir inteiramente o miniaplicativo fornecido. Um exemplo é o KNetworkManager, um frontend do KDE para o NetworkManager desenvolvido pela Novell para SUSE Linux .

Front-ends gráficos e interfaces de linha de comando
nm-applet
nm-applet é o miniaplicativo GNOME para NetworkManager.
nmcli
nmcli é a interface de linha de comando embutida do NetworkManager adicionada em 2010. nmcli permite fácil exibição do status atual do NetworkManager, gerencia conexões e dispositivos, monitora conexões.
nmtui
nmtui é uma interface de usuário baseada em texto embutida . nmtui é relativamente básico em comparação com nmcli, que permite apenas aos usuários adicionar / editar uma conexão, ativar uma conexão e definir o nome do host do sistema.
cnetworkmanager
Interface de linha de comando cnetworkmanager para NetworkManager.

Assistente de configuração de banda larga móvel

Antti Kaijanmäki anunciou o desenvolvimento de um assistente de configuração de banda larga móvel para o NetworkManager em abril de 2008; ele se tornou disponível no NetworkManager versão 0.7.0. Junto com o pacote mobile-broadband-provider-info, a conexão é facilmente configurada.

História

A Red Hat iniciou o projeto NetworkManager em 2004 com o objetivo de permitir que os usuários do Linux lidassem mais facilmente com as necessidades de redes modernas, especialmente redes sem fio . O NetworkManager adota uma abordagem oportunista para a seleção da rede, tentando usar a melhor conexão disponível quando ocorrem interrupções ou quando o usuário faz roaming entre as redes sem fio. Ele prefere conexões Ethernet a redes sem fio “conhecidas”, que são preferidas em vez de redes sem fio com SSIDs às quais o usuário nunca se conectou. O usuário é solicitado a fornecer as chaves WEP ou WPA conforme necessário.

O projeto NetworkManager foi um dos primeiros grandes componentes de desktop Linux a utilizar D-Bus e HAL extensivamente. Desde junho de 2009, no entanto, o NetworkManager não depende mais do HAL e, desde a 0.9.10 (ca. 2014), também não exige que o daemon D-Bus esteja em execução para operação de root.

Veja também

Referências

links externos