# DHCP: No DHCPOFFER received from server 0.0.0.0

- **ID:** `networking/dhcp-offer-not-received`
- **Domain:** networking
- **Category:** network_error
- **Verification:** ai_generated
- **Fix Rate:** 80%

## Root Cause

The DHCP client sent a DISCOVER broadcast but did not receive any OFFER from the DHCP server within the timeout, typically due to a misconfigured DHCP server, VLAN mismatch, or a switchport configured as an access port instead of trunk.

## Version Compatibility

| Version | Status | Introduced | Deprecated |
|---------|--------|------------|------------|
| ISC DHCP 4.4.3 | active | — | — |
| dnsmasq 2.89 | active | — | — |
| Windows Server 2022 DHCP | active | — | — |

## Workarounds

1. **Verify the DHCP server is running and reachable: `sudo tcpdump -i eth0 port 67 or port 68` to check if DISCOVER packets are sent and if OFFER packets are received.** (85% success)
   ```
   Verify the DHCP server is running and reachable: `sudo tcpdump -i eth0 port 67 or port 68` to check if DISCOVER packets are sent and if OFFER packets are received.
   ```
2. **Ensure the client's switchport is in the correct VLAN: `show vlan brief` on the switch, and set it with `switchport access vlan 10` if needed.** (90% success)
   ```
   Ensure the client's switchport is in the correct VLAN: `show vlan brief` on the switch, and set it with `switchport access vlan 10` if needed.
   ```
3. **Check for DHCP snooping on the switch: `show ip dhcp snooping` and add an exception for the trusted port if needed: `ip dhcp snooping trust`.** (80% success)
   ```
   Check for DHCP snooping on the switch: `show ip dhcp snooping` and add an exception for the trusted port if needed: `ip dhcp snooping trust`.
   ```

## Dead Ends

- **** — This simply re-initiates the same process; if the server is unreachable or misconfigured, the same error will occur. (90% fail)
- **** — This bypasses DHCP entirely but may cause IP conflicts or routing issues if not coordinated with the network admin; it also ignores the root cause of DHCP failure. (50% fail)
- **** — If the server is not reachable due to VLAN or firewall issues, specifying the server IP will not help; the DISCOVER broadcast must still reach the server. (70% fail)
