Eu tenho uma máquina Linux rodando o kernel versão 5.15. Tenho o systemd versão 250.5+ instalado e configurado para executar um servidor DHCP em uma porta Ethernet física. Eu tenho um Raspberry Pi executando a versão mais recente até hoje. Se eu conectei o raspberry pi diretamente à porta Ethernet, o pi obterá um endereço IP e os 2 dispositivos poderão se comunicar perfeitamente. Se eu colocar um switch não gerenciado diretamente entre os 2, o DHCP não funciona e o Raspberry Pi não obtém um endereço IP. Sei que o switch funciona porque posso usá-lo entre meu roteador doméstico e uma máquina diferente. Como funciona sem o switch e o switch funciona com outros dispositivos, por que o servidor DHCP do systemd networkd falha com um switch?
Não vejo nada óbvio que esteja faltando na documentação da funcionalidade do servidor DHCP systemd-networkd: https://www.freedesktop.org/software/systemd/man/latest/systemd.network.html
Aqui está o arquivo de configuração do systemd networkd que estou usando para o servidor DHCP:
cat /etc/systemd/network/eth0.network
[Match]
Name=eth0
Type=ether
[DHCPV4]
DUIDType=link-layer
ClientIdentifier=mac
[Network]
Address=172.1.16.1/24
DHCPServer=yes
#IPMasquerade=ipv4
[DHCPServer]
PoolOffset=1
PoolSize=4
Acontece que tive que fazer o link 100Mb/s. O DHCP funciona por meio do switch se eu executar o seguinte comando e, em seguida, desconectar e reconectar os clientes ao switch: