How To: Troubleshoot DHCP Communication

dhcp
howto

#1

How to troubleshoot DHCP communication

In case you are having troubles using DHCP you can monitor the communication between client and DHCP server with an additional tool called “dhcpdump”.

Step 1

Enable the “unmaintained” repository as shown and described in this article.
Note: Using software from unmaintained repositories will not be covered by Univention Support.

root@backup:~# ucr set repository/online/unmaintained=yes
Setting repository/online/unmaintained
File: /etc/apt/sources.list.d/20_ucs-online-component.list
File: /etc/apt/mirror.list
File: /etc/apt/sources.list.d/15_ucs-online-version.list

Step 2

Update packet cache and install dhcpdump through apt:

root@backup:~# apt update
[...]
Holen:310 https://updates.software-univention.de/4.3/unmaintained 4.3-3/amd64/ Packages [95,6 kB]
Es wurden 37,9 MB in 21 s geholt (1.757 kB/s).                                 
Paketlisten werden gelesen... Fertig
Abhängigkeitsbaum wird aufgebaut.       
Statusinformationen werden eingelesen.... Fertig
Alle Pakete sind aktuell.
root@backup:~#
root@backup:~# apt install dhcpdump
Paketlisten werden gelesen... Fertig
Abhängigkeitsbaum wird aufgebaut.       
Statusinformationen werden eingelesen.... Fertig
The following additional packages will be installed:
  tcpdump
Die folgenden NEUEN Pakete werden installiert:
  dhcpdump tcpdump
0 aktualisiert, 2 neu installiert, 0 zu entfernen und 0 nicht aktualisiert.
Es müssen 430 kB an Archiven heruntergeladen werden.
Nach dieser Operation werden 1.271 kB Plattenplatz zusätzlich benutzt.
Möchten Sie fortfahren? [J/n] j
Holen:1 https://updates.software-univention.de/4.3/maintained 4.3-0/amd64/ tcpdump 4.9.2-1~deb9u1 [415 kB]
Holen:2 https://updates.software-univention.de/4.3/unmaintained 4.3-0/amd64/ dhcpdump 1.8-2.A~4.3.0.201711291434 [14,9 kB]
Es wurden 430 kB in 0 s geholt (842 kB/s).
Vormals nicht ausgewähltes Paket tcpdump wird gewählt.
(Lese Datenbank ... 85260 Dateien und Verzeichnisse sind derzeit installiert.)
Vorbereitung zum Entpacken von .../tcpdump_4.9.2-1~deb9u1_amd64.deb ...
Entpacken von tcpdump (4.9.2-1~deb9u1) ...
Vormals nicht ausgewähltes Paket dhcpdump wird gewählt.
Vorbereitung zum Entpacken von .../dhcpdump_1.8-2.A~4.3.0.201711291434_amd64.deb ...
Entpacken von dhcpdump (1.8-2.A~4.3.0.201711291434) ...
tcpdump (4.9.2-1~deb9u1) wird eingerichtet ...
Trigger für man-db (2.7.6.1-2) werden verarbeitet ...et ...##...............] 
root@backup:~#

Step 3

Use dhcpdump similar to tcpdump and use the “-i” option to tell what interface to listen on:

root@backup:~# dhcpdump -i eth1
  TIME: 2018-12-27 16:34:53.005
    IP: 192.168.9.63 (11:22:33:44:55:66) > 192.168.9.10 (0:77:88:99:aa:bb)
    OP: 1 (BOOTPREQUEST)
 HTYPE: 1 (Ethernet)
  HLEN: 6
  HOPS: 0
   XID: a86f1b73
  SECS: 9514
 FLAGS: 0
CIADDR: 192.168.9.229
YIADDR: 0.0.0.0
SIADDR: 0.0.0.0
GIADDR: 0.0.0.0
CHADDR: 00:e1:8c:b7:c1:d1:00:00:00:00:00:00:00:00:00:00
 SNAME: .
 FNAME: .
OPTION:  53 (  1) DHCP message type         3 (DHCPREQUEST)
OPTION:  12 (  8) Host name                 client
OPTION:  55 ( 16) Parameter Request List      1 (Subnet mask)
					     28 (Broadcast address)
					      2 (Time offset)
					      3 (Routers)
					     15 (Domainname)
					      6 (DNS server)
					    119 (Domain Search)
					     12 (Host name)
					     44 (NetBIOS name server)
					     47 (NetBIOS scope)
					     26 (Interface MTU)
					    121 (Classless Static Route)
					     42 (NTP servers)
					    249 (MSFT - Classless route)
					     33 (Static route)
					    252 (MSFT - WinSock Proxy Auto Detect)
					    
---------------------------------------------------------------------------

  TIME: 2018-12-27 16:34:53.006
    IP: 192.168.9.10 (0:77:88:99:aa:bb) > 192.168.9.229 (11:22:33:44:55:66)
    OP: 2 (BOOTPREPLY)
 HTYPE: 1 (Ethernet)
  HLEN: 6
  HOPS: 0
   XID: a86f1b73
  SECS: 9514
 FLAGS: 0
CIADDR: 192.168.9.229
YIADDR: 192.168.9.229
SIADDR: 192.168.9.10
GIADDR: 0.0.0.0
CHADDR: 00:e1:8c:b7:c1:d1:00:00:00:00:00:00:00:00:00:00
 SNAME: .
 FNAME: .
OPTION:  53 (  1) DHCP message type         5 (DHCPACK)
OPTION:  54 (  4) Server identifier         192.168.9.10
OPTION:  51 (  4) IP address leasetime      33686 (9h21m26s)
OPTION:   1 (  4) Subnet mask               255.255.255.0
OPTION:   3 (  4) Routers                   192.168.9.254
OPTION:  15 (  8) Domainname                univention.de
OPTION:   6 ( 12) DNS server                192.168.9.10,192.168.9.100,192.168.1.10
OPTION: 119 ( 31) Domain Search             756E6976656E7469 univenti
					    6F6E2E646520756E on.de un
					    6976656E74696F6E ivention
					    2E636F6D   .com
---------------------------------------------------------------------------

How To: Debugging DHCP Server Settings