O systemd-networkd é o gerenciador de rede integrado do systemd para configurar links Ethernet, endereços, rotas, bridges, VLANs e outros dispositivos de rede. Para uma conexão cabeada básica, a configuração é simples: identifique a interface, crie um .networkarquivo, certifique-se de que nenhum outro gerenciador possua a mesma interface, inicie o systemd-networkd systemd-networkde verifique o resultado.
Este guia utiliza DHCP em uma interface Ethernet cabeada. Se você estiver conectado à máquina via SSH, utilize um console local ou gerenciamento fora de banda antes de trocar de gerenciador de rede, pois a transição pode interromper temporariamente a conexão.
1. Verifique sua interface Ethernet e o gerenciador de rede atual.
Comece listando os links que o systemd conhece:
networkctl list
Procure pela interface com fio, geralmente chamada de algo como enp3s0`interface1` eno1, `interface2` ou `interface3` eth0. Você também pode executar `interface3` ip link. Não copie o nome da interface de exemplo cegamente.

Em seguida, verifique se o NetworkManager está ativo:
systemctl status NetworkManager
O NetworkManager e o systemd-networkd podem coexistir quando gerenciam interfaces diferentes , mas você não deve permitir que ambos gerenciem o mesmo link Ethernet. A documentação atual do systemd.network explica como .networkos arquivos correspondem às interfaces e como o networkd determina a propriedade.

2. Crie um perfil de rede DHCP.
Os perfis de administrador local devem ser armazenados em /etc/systemd/network/. Crie o diretório, caso ele ainda não exista, e edite um arquivo como 20-wired.network:
sudo mkdir -p /etc/systemd/network
sudo nano /etc/systemd/network/20-wired.network
Para uma conexão Ethernet normal que recebe seu endereço do seu roteador ou servidor DHCP, use:
[Match]
Name=enp3s0
[Network]
DHCP=yes
Substitua enp3s0pela sua interface real. Os arquivos devem terminar em .network. Quando vários arquivos correspondem a um link, o systemd-networkd usa o primeiro arquivo correspondente em ordem alfanumérica, portanto, um nome específico como 20-wired.networké mais fácil de entender do que um nome genérico.

Opcional: use um endereço IPv4 estático.
Se a máquina precisar de um endereço fixo, substitua DHCP=yespelos valores apropriados para sua rede:
[Match]
Name=enp3s0
[Network]
Address=192.168.1.50/24
Gateway=192.168.1.1
DNS=1.1.1.1
DNS=9.9.9.9
Não reutilize esses endereços de exemplo a menos que correspondam à sua sub-rede. Consulte os documentos de referência oficiais do systemd.network para obter mais informações sobre opções de roteamento avançadas.DHCP=Address=Gateway=DNS=
3. Habilitar systemd-networkd
Assim que o perfil estiver pronto, habilite o networkd e inicie-o imediatamente:
sudo systemctl enable --now systemd-networkd
Se outro serviço estiver gerenciando essa mesma interface Ethernet, realize a transferência a partir de um console local. Para um host que esteja migrando completamente do NetworkManager, você pode pará-lo e desativá-lo com:
sudo systemctl disable --now NetworkManager
Não desative o NetworkManager se ainda precisar dele para Wi-Fi ou outras interfaces. systemd-networkdEle configura a rede IP, mas a autenticação Wi-Fi normalmente requer um componente separado, como o iwd ou o wpa_supplicant.

4. Configure o DNS com systemd-resolved, se necessário.
systemd-resolvedNão é um requisito para o próprio networkd, mas integra-se bem com ele e pode usar servidores DNS aprendidos via DHCP. Se sua distribuição ainda não estiver usando outro resolvedor, habilite-o:
sudo systemctl enable --now systemd-resolved
A documentação do systemd-resolved recomenda a vinculação /etc/resolv.confao seu arquivo stub quando o resolved for o resolvedor do sistema. Verifique primeiro:
readlink -f /etc/resolv.conf
Se você deseja intencionalmente que o systemd-resolved forneça resolv.conf, use:
sudo ln -sf /run/systemd/resolve/stub-resolv.conf /etc/resolv.conf
Não substitua /etc/resolv.confse a sua distribuição ou outra ferramenta de DNS estiver gerenciando-o intencionalmente.

5. Recarregue a configuração e reconfigure a interface.
Após editar um .networkarquivo, recarregue a configuração do networkd. Em seguida, você poderá reconfigurar explicitamente o link de destino:
sudo networkctl reload
sudo networkctl reconfigure enp3s0
Substitua ` enp3s0<nome_da_interface>` pelo nome da sua interface. O manual oficial do networkctl documenta ambos os comandos. Um `networkctl reset` systemctl restart systemd-networkdtambém reinicia o serviço, mas networkctlgeralmente é a opção mais adequada.

6. Verifique se o systemd-networkd está funcionando.
Verifique o estado da interface:
networkctl status enp3s0
Para uma conexão DHCP saudável, você deve ver o link configurado com um endereço IP, um gateway padrão e, geralmente, informações de DNS.

Em seguida, confirme o roteamento e a conectividade:
ip route
ping -c 3 1.1.1.1
Se o ping de IP funcionar, mas os sites ou nomes de host não forem resolvidos, teste o DNS resolvectl query example.comusando o systemd-resolved. Se a interface permanecer como "sem nome de domínio unmanaged", verifique novamente o [Match]nome e certifique-se de que outro gerenciador de rede não esteja reivindicando o mesmo dispositivo.

Para configurações avançadas, como bridges, bonds, VLANs, túneis ou dispositivos virtuais, consulte a documentação oficial do serviço systemd-networkd e as referências systemd.netdevrelacionadas systemd.link.