BusyBox ifup translates 'gateway X' into 'ip route add default via X' and aborts the whole ifup run with RC=1 when that command fails with 'File exists' — which always happens on first boot because the docker management bridge has already installed its own default via eth0. As a result the 'post-up ip route replace default' was never executed and the host kept the management default. Remove the 'gateway' line so ifup only runs the idempotent 'post-up ip route replace default via <fabric-gw>' and the fabric default wins.
168 B
168 B