Hello there,
I’ve got a really strange problem regarding my bridges on a NixOS 20.09 (problem also exists on 20.03).
The configuration look like this (names and addresses censored of course):
networking = {
useNetworkd = true;
useDHCP = false;
hostId = "39f2c5e3";
firewall = {
enable = true;
allowedTCPPorts = [ 22 ];
allowedUDPPorts = [];
};
hostName = "hostname";
domain = "best.domain.at";
nameservers = [ "9.9.9.9" ];
};
systemd.network.netdevs."20-br-public" = {
netdevConfig = {
Kind = "bridge";
Name = "br-public";
};
extraConfig = ''
[Bridge]
VLANFiltering=true
'';
};
systemd.network.networks."30-int-enp2s0f1" = {
matchConfig = {
Name = "enp2s0f1";
};
networkConfig = { Bridge = "br-public"; };
};
systemd.network.networks."30-int-public" = {
matchConfig = {
Name = "br-public";
};
address = [
"127.0.0.1/24"
];
gateway = [ "127.0.0.245" ];
};
When rebooting the system all looks good so far. The interfaces are up, the IP Addresses are configured and when checking the bridge I can see all needed interfaces as member of the bridge.
The connection just does not work. I’ve debugged a lot checking configuration and doing tcpdumps. After a time it started working without me changing anything, just lurking around.
It looks like the bridge starts to work after the bridge/all related interfaces went into promiscuous mode one because tcpdump was started.
After a reboot I ping the public IP without answer. Connecting to the system via Serial console and starting “tcpdump -n” it starts to answer.
Do someone else see this problem or has a tip what I could check to solve it?
I am happy to answer additional questions about the configuration/hardware if needed.
thanks,
Stefan