Setup DHCP Server on its own VM and Subnet

alpot

New Member
Oct 7, 2025
4
0
1
I'm trying to setup a DHCP server in Proxmox to serve all of my private VMs. I want this DHCP server to run on its own VM. So what i did was I created its own bridge, spin a VM and install a dhcp service. In the proxmox host, I then installed a dhcp relay agent that links the private bridge with the dhcp bridge. So, something like this:

Code:
                  192.168.3.1                           10.0.0.1             10.0.0.2
[private vms] ----- [vmbr3] --------- [dhcp relay] ----- [vmbr9]---------[dhcp server]

Looking at the tcpdump I can see that the DISCOVER is being received in vmbr9 and in the dhcp server. I can also see that the dhcp server is replying with an OFFER. But this OFFER never reaches vmbr3 bridge.

Here's an example of the OFFER that was sent but never received:


Code:
17:12:58.792259 IP (tos 0x0, ttl 64, id 50343, offset 0, flags [DF], proto UDP (17), length 329)
    10.0.0.2.67 > 192.168.3.1.67: [bad udp cksum 0xcef1 -> 0xb448!] BOOTP/DHCP, Reply, length 301, hops 1, xid 0xb328f713, secs 15, Flags [none] (0x0000)
          Your-IP 192.168.3.10
          Gateway-IP 192.168.3.1
          Client-Ethernet-Address bc:24:11:57:66:9c
          Vendor-rfc1048 Extensions
            Magic Cookie 0x63825363
            DHCP-Message (53), length 1: Offer
            Server-ID (54), length 4: 10.0.0.2
            Lease-Time (51), length 4: 600
            Subnet-Mask (1), length 4: 255.255.255.0
            Domain-Name-Server (6), length 8: 8.8.8.8,8.8.4.4
            Domain-Name (15), length 15: "xxxxxxxxx.com"
            BR (28), length 4: 192.168.3.255
            Default-Gateway (3), length 4: 192.168.3.1

Any idea why OFFER packet is not showing up in the vmb3 bridge?
 
Last edited:
I figure it out. I need to add the options '-iu and -id" in the isc-dhcp-relay config, so, something like this:

Code:
# What servers should the DHCP relay forward requests to?
SERVERS="10.0.0.2"
 
# On what interfaces should the DHCP relay (dhrelay) serve DHCP requests?
INTERFACES="vmbr3"
 
# Additional options that are passed to the DHCP relay daemon?
OPTIONS="-iu vmbr9 -id vmbr3"