The fact that a lease entry appears in the lease file would indicate that at some point this must have worked; the client must have sent a DHCP ACK to the server in order to obtain the lease.
I'm not sure how Debian expects the network configuration file to be structured when creating a bridge. I do know that in order for a bridge to work, the following must be done:
- A bridge interface must be created
- The relevant physical interfaces must be added to the bridge
- All physical interfaces must be activated ("up")
- The bridge interface must be activated ("up")
- Any IP address(es) must be assigned to the bridge interface, not any of the physical interfaces
The steps above may be performed in any order, but steps 1-4 must be completed before 5 if you're using DHCP.
You could try performing these steps manually using the
brctl and
ip commands, and concentrate on getting the Debian-specific bits right once you've confirmed that the configuration is indeed working.
Also, note that DHCP ACKs are sent directly to the IP address of the DHCP server, and not to the broadcast address. I'm mentioning this because you didn't show the exact
tcpdump command used to dump the DHCP transaction; if you were filtering on broadcasts, you'd have missed the final bits of the transaction.