Created on 
    
	
		
		
		09-24-2023
	
		
		11:41 PM
	
	
	
	
	
	
	
	
	
	
	
	
	
	
  Edited on 
    
	
		
		
		10-30-2025
	
		
		02:05 AM
	
	
	
	
	
	
	
	
	
	
	
	
	
	
 By  
				
		
		
			Jean-Philippe_P
		
		
		
		
		
		
		
		
	
			 
		
| Description | This article describes the process that takes place when a system gets an IP and understands the DHCP debug Scope. | 
| Scope | FortiGate. | 
| Solution | 
 This article will examine the DHCP DORA process, concentrating on the request phase to a FortiGate, or if the FortiGate acts as a relay and the NAK (Negative Acknowledgment) response. 
 Generally, the DHCP DORA process has four stages: Discover, Offer, Request, and Acknowledge. There is the debug that can be seen on the FortiGate when running the DHCP or DHCP Relay debugs: 
 DHCP server Debugs (if FortiGate is the DHCP server): 
 diagnose debug reset 
 To stop the debug, run the following commands: 
 diagnose debug disable diagnose debug reset 
 DHCP Relay: 
 diagnose debug reset diagnose debug application dhcprelay -1 diagnose debug enable 
 To stop the debug, run the following commands: 
 diagnose debug disable diagnose debug reset 
 
 
 [note]DHCPDISCOVER from 00:45:xx:xx:xx:xx via port2(ethernet) <----- DHCP Discover. [debug]packet length 302 [debug]op = 1 htype = 1 hlen = 6 hops = 0 [debug]xid = 667f0f59 secs = 0 flags = 0 [debug]ciaddr = 0.0.0.0 [debug]yiaddr = 0.0.0.0 [debug]siaddr = 0.0.0.0 [debug]giaddr = 0.0.0.0 [debug]chaddr = 00:45:6e:64:64:01 [debug]filename = [debug]server_name = [debug] host-name = "DESKTOP-OLGFQ84" [debug] dhcp-requested-address = 192.168.1.2 [debug] dhcp-message-type = 1 [debug] dhcp-parameter-request-list = 1,3,6,15,31,33,43,44,46,47,119,121,249,252 [debug] dhcp-class-identifier = "MSFT 5.0" [debug] dhcp-client-identifier = 1:0:45:6e:64:64:1 [debug]Sending ICMP echo-request to 192.168.1.2 [note]DHCPOFFER on 192.168.1.2 to 00:45:xx:xx:xx:xx via port2(ethernet) <----- DHCP Offer. [debug]sending on port2(ethernet) [debug]sending using lpf_dhcpd_send_packet [debug]locate_network prhtype(1) pihtype(1) [debug]find_lease(): packet contains preferred client IP, cip.s_addr is 192.168.1.2 [debug]find_lease(): leaving function with lease set [debug]find_lease(): the lease's IP is 192.168.1.2 [note]DHCPREQUEST for 192.168.1.2 from 00:45:xx:xx:xx:xx via port2(ethernet) <----- DHCP Request. [debug]added ip 192.168.1.2 mac 00:45:6e:64:64:01 in vd root [debug]packet length 328 [debug]op = 1 htype = 1 hlen = 6 hops = 0 [debug]xid = 667f0f59 secs = 0 flags = 0 [debug]ciaddr = 0.0.0.0 [debug]yiaddr = 0.0.0.0 [debug]siaddr = 0.0.0.0 [debug]giaddr = 0.0.0.0 [debug]chaddr = 00:45:6e:64:64:01 [debug]filename = [debug]server_name = [debug] host-name = "DESKTOP-OLGFQ84" [debug] dhcp-requested-address = 192.168.1.2 [debug] dhcp-message-type = 3 [debug] dhcp-server-identifier = 192.168.1.1 [debug] dhcp-parameter-request-list = 1,3,6,15,31,33,43,44,46,47,119,121,249,252 [debug] dhcp-class-identifier = "MSFT 5.0" [debug] dhcp-client-identifier = 1:0:45:6e:64:64:1 [debug] option-81 = 0:0:0:44:45:53:4b:54:4f:50:2d:4f:4c:47:46:51:38:34 [note]DHCPACK on 192.168.1.2 to 00:45:xx:xx:xx:xx via port2(ethernet) <----- DHCP Acknowledge. [debug]sending on port2(ethernet) [debug]sending using lpf_dhcpd_send_packet 
 Discover (DHCPDISCOVER from 00:45:xx:xx:xx:xx via port2(ethernet):( 
 
 Offer (DHCPOFFER on 192.168.1.2 to 00:45:xx:xx:xx:xx via port2(ethernet)): 
 
 Request (DHCPREQUEST for 192.168.1.2 from 00:45:xx:xx:x:xx via port2(ethernet):( 
 
 Acknowledge (DHCPACK on 192.168.1.2 to 00:45:xx:xx:xx:xx via port2(ethernet):( 
 
 To check the DHCP lease list from the GUI, go to Dashboard -> Network -> Hover over the DHCP widget, and select to expand. 
 Use the following CLI command to view the assigned IP addresses by FortiGate as a DHCP Server : 
 execute dhcp lease-list 
 
 
 
 diagnose sniffer packet <interface> "port 67 or port 68" 6 0 l 
 Topology: DHCP client - 10.1.30.1 (internal3) - [FGT DHCP Relay] - (internal6) 10.1.60.1 - routed network -10.2.100.3 DHCP Server. 
 Packet capture snippets : 
 
 
 DHCP Relay debugs: 
 (xid:e590fa76) received request message from 0.0.0.0:68 to 255.255.255.255 at internal3 
 Pointers to note: 
 (xid:e590fa76) -- DHCP transaction ID as seen on DHCP relay debug. Insert option(82), len(11) -- Option 82 is the relay agent information option and is inserted by the DHCP relay agent when forwarding client-originated DHCP packets to a DHCP server. forwarding dhcp request from 10.1.30.1:67 to 10.2.100.3:67 - DHCP relay agent and DHCP server communicates over unicast with the source IP being the interface that receives the DHCP request. 
 Sample DHCP relay packet captures in pcap format are attached. 
 NACK/NAK (Negative Acknowledgment) : There can be a situation where, after the client has sent the Request to get one of the IP addresses that was offered, the DHCP server sends out NACK/NAK, resulting in not getting the desired IP address. 
 NACK/NAK (Negative Acknowledgment) Response: 
 
 Troubleshooting DHCP DORA Process with NACK: A captured NAK response on Wireshark looks like the below: 
 
 If there are problems with the DHCP DORA process and the DHCP client receives a NAK response, take a look at the following troubleshooting steps: 
 
 On the FortiGate, check general configuration problems, warning messages about the DHCP Request, and NAK answers. 
 
 
 
 
 Other DHCP messages could be: DHCP Decline (DECLINE): If the user detects that the offered IP address is already in use on the network, it may send a DHCP Decline message to inform the server that the address is not available. 
 DHCP Release (RELEASE): When a DHCP client no longer needs its assigned IP address (e.g., when disconnecting from the network), it sends a DHCP Release message to the server. This allows the server to reclaim the IP address and update its lease pool. 
 DHCP Inform (INFORM): A DHCP client may send a DHCP Inform message to a DHCP server to obtain additional configuration information, even if it already has an IP address. This is often used for supplementary options. 
 Related articles: Troubleshooting Tip: Check DHCP Messages with VLAN Tag using Wireshark Packet Capture  | 
The Fortinet Security Fabric brings together the concepts of convergence and consolidation to provide comprehensive cybersecurity protection for all users, devices, and applications and across all network edges.
Copyright 2025 Fortinet, Inc. All Rights Reserved.