Estou aprendendo sobre redes Linux na minha estação de trabalho Kubuntu 18.04 e vejo lá as duas NetworkManager
e networkd-dispatcher
estão sendo executadas:
oleg@eclectic:~$ sudo ps -ef | grep -i net
root 56 2 0 Oct11 ? 00:00:00 [netns]
root 1097 1 0 Oct11 ? 00:00:02 /usr/sbin/NetworkManager --no-daemon
root 1098 1 0 Oct11 ? 00:00:00 /usr/bin/python3 /usr/bin/networkd-dispatcher --run-startup-triggers
root 1250 1 0 Oct11 ? 00:00:02 /usr/sbin/inetd
root 1593 1097 0 Oct11 ? 00:00:00 /sbin/dhclient -d -q -sf /usr/lib/NetworkManager/nm-dhcp-helper...
NetworkManager
parece estar configurado para lidar com "tudo" por netplan
:
oleg@eclectic:~$ cat /etc/netplan/01-network-manager-all.yaml
# Let NetworkManager manage all devices on this system
network:
version: 2
renderer: NetworkManager
Eu acredito que netplan
entregaria tudo para networkd
se NetworkManager
não estivesse instalado.
Há também um monte de arquivos /etc/network/
, e não tenho certeza do que está lidando com eles. Muitos pacotes parecem usar este diretório:
oleg@eclectic:~$ dpkg -S /etc/network
avahi-daemon, ifupdown2, wpasupplicant, openvpn, postfix, netbase, avahi-autoipd, wireless-tools, clamav-freshclam: /etc/network
Meu pensamento inicial, depois de pesquisar no Google, é isso NetworkManager
e networkd
ambos estão em execução, mas netplan
gera uma configuração tal que apenas um está realmente fazendo alguma coisa. Mas não sei como verificar isso, descobrir a cadeia de operações ou configurá-lo para se adequar aos meus planos nefastos para o dummy0.
Pergunta: Como exatamente o NetworkManager, o networkd e o netplan estão trabalhando juntos? Em outras palavras, quando o computador é inicializado, quais processos passam e quais são os outros processos? Como ferramentas de pacotes de gosto net-tools
, ifupdown2
e iproute2
e diretórios como /etc/network/
se encaixam em tudo isso? E, finalmente, como posso descobrir isso sozinho e aprender os detalhes usando a linha de comando?
Atualização: não estou procurando uma visão geral de alto nível. Em vez disso, quero saber como esses componentes estão interagindo, conflitando ou evitando conflitos no nível do kernel ou similar.