On two different servers, different services will not start, but if they are restarted, start successfully
Solution 1:
You could try listing dependencies (using ufw as an example):
$ systemctl list-dependencies ufw
ufw.service
● └─system.slice
$
Or viewing the Unit File information (again for ufw):
$ systemctl cat ufw
# /lib/systemd/system/ufw.service
[Unit]
Description=Uncomplicated firewall
Documentation=man:ufw(8)
DefaultDependencies=no
Before=network.target
[Service]
Type=oneshot
RemainAfterExit=yes
ExecStart=/lib/ufw/ufw-init start quiet
ExecStop=/lib/ufw/ufw-init stop
[Install]
WantedBy=multi-user.target
$
If you really need the network to be up you can add to the Unit File:
After=network-online.target
Wants=network-online.target
You could also review the Journal to see if the services are spitting out any errors:
sudo journalctl -u ufw