Gerente da rede - NetworkManager
Autor (es) original (is) | chapéu vermelho |
---|---|
Desenvolvedor (s) | principalmente Red Hat |
lançamento inicial | 19 de novembro de 2004 |
Versão estável | 1.32.10 / 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 |
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
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 /dev
diretório e, tradicionalmente, os arquivos de dispositivo para hardware Ethernet foram nomeados eth0
, eth1
etc. Desde o systemd, eles são nomeados de forma diferente:, enp4s0
etc. (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 ifconfig
e 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/interfaces
para distribuições Debian Linux e seus derivados ou ifcfg
arquivos em /etc/sysconfig/network-scripts/
para Fedora e seus derivados, e servidores DNS em /etc/resolv.conf
. /etc/network/interfaces
ou /etc/sysconfig/network-scripts/ifcfg-*
pode definir um endereço IP estático ou dhclient
a 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:
- o daemon NetworkManager , o software real que gerencia conexões e relata mudanças na rede
- 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
A GUI mostra todos os APs disponíveis . O usuário precisa apenas clicar no desejado.
Front-end gráfico para GNOME Shell 3.10
- 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
- Linux na área de trabalho
- BlueZ
- GNOME Keyring Manager
- usbserial
- Wicd - gerenciador de rede escrito em Python
- wpa_supplicant
- wvdial
- netifd - pequeno daemon com a capacidade de escutar eventos netlink; não requer D-Bus , não depende de GLib , visa dispositivos embutidos
- ConnMan - daemon para gerenciar conexões de Internet em dispositivos incorporados
Referências
links externos
- Página inicial do NetworkManager
- Banco de dados do provedor de serviços
- NetworkManager em freedesktop.org
- Status do NetworkManager na lista de discussão freebsd-gnome
- Página original do NetworkManager em redhat.com via WaybackMachine
- Anúncio do primeiro lançamento público do NetworkManager
- Como usar uma interface WiFi com NetworkManager