I am not getting an IP in the subnet 10.0.0.0/24
where the DHCP is working and should serve an IP, I am getting instead only an IP in the subnet 169.254.0.0/16
(link local address) that is probably given by Windows which runs on the laptop I am using to test this, which makes me think it might be a problem of the network firewall blocking the DHCP Discovery service.
And if that is caused by the firewall, which ports I should be opening for DHCP Discovery to work?
DHCP Server UDP 67
DHCP Client UDP 68.
There are other ports requirements for different things depending on the implementation, but above is standard.
I am going to assume you have a firewall (of some sort) between your machine, and the DHCP server - is this the case?
If so, does this firewall also route traffic? You may be required to switch on a DHCP helper (This is due to the fact DHCP uses broadcast traffic which routers will not forward on to other segments)
If this is not the case, have you tried some basic troubleshooting - i.e. plug in a device with no firewall. Does it get a DHCP lease? (i.e. is the problem common to all devices, or is it just certain devices)
Please give us some more information.
As stated in the comments: