How To: Troubleshoot DHCP Communication

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
---------------------------------------------------------------------------
1 Like
Mastodon