1. Instal·lació del servidor. Per a la instal·lació del servidor, primer cal esbrinar el nom del paquet. Es pot fer de diverses maneres, però la idea bàsica es filtrar per les paraules clau dhcp i server.
Una manera és mirant el noms dels paquets:
root@server:~# apt-cache pkgnames | grep dhcp | grep server
wide-dhcpv6-server
isc-dhcp-server
isc-dhcp-server-ldap
root@server:~#
També es pot fer variant algun paràmetre per obtenir més informació:
root@server:~# apt-cache search dhcp --names-only | grep server
udhcpd - Provides the busybox DHCP server implementation
dhcp-probe - network DHCP or BootP server discover
dhcpy6d - MAC address aware DHCPv6 server written in Python
freeradius-dhcp - DHCP module for FreeRADIUS server
isc-dhcp-dev - API for accessing and modifying the DHCP server and client state
isc-dhcp-server - ISC DHCP server for automatic IP address assignment
isc-dhcp-server-ldap - DHCP server that uses LDAP as its backend
python-pydhcplib - Python DHCP client/server library
librust-dhcp4r-dev - IPv4 DHCP library with working server example - Rust source code
wide-dhcpv6-server - DHCPv6 server for automatic IPv6 hosts configuration
root@server:~#
En tots dos casos veureu que el nom del paquet és isc-dhcp-server, ja que Internet Systems Consortium (ISC) és l’organisme que s’encarrega del desenvolupament d’aquest servidor.
Instal·leu el servidor:
root@server:~# apt-get install isc-dhcp-server
S'està llegint la llista de paquets… Fet
S'està construint l'arbre de dependències
S'està llegint la informació de l'estat… Fet
S'instal·laran els següents paquets extres:
libirs-export161 libisccfg-export163 policycoreutils selinux-utils
Paquets suggerits:
isc-dhcp-server-ldap
S'instal·laran els paquets NOUS següents:
isc-dhcp-server libirs-export161 libisccfg-export163 policycoreutils selinux-utils
0 actualitzats, 5 nous a instal·lar, 0 a suprimir i 0 no actualitzats.
S'ha d'obtenir 1615 kB d'arxius.
Després d'aquesta operació s'empraran 6539 kB d'espai en disc addicional.
Voleu continuar? [S/n]
...
Job for isc-dhcp-server.service failed because the control process exited with error code.
See "systemctl status isc-dhcp-server.service" and "journalctl -xe" for details.
invoke-rc.d: initscript isc-dhcp-server, action "start" failed.
● isc-dhcp-server.service - LSB: DHCP server
Loaded: loaded (/etc/init.d/isc-dhcp-server; generated)
Active: failed (Result: exit-code) since Wed 2020-07-01 15:27:30 CEST; 14ms ago
Docs: man:systemd-sysv-generator(8)
Process: 6973 ExecStart=/etc/init.d/isc-dhcp-server start (code=exited, status=1/FAILURE)
de jul. 01 15:27:28 server.ioc.cat dhcpd[6986]: bugs on either our web page at www.isc.org or in the README file
de jul. 01 15:27:28 server.ioc.cat dhcpd[6986]: before submitting a bug. These pages explain the proper
de jul. 01 15:27:28 server.ioc.cat dhcpd[6986]: process and the information we find helpful for debugging.
de jul. 01 15:27:28 server.ioc.cat dhcpd[6986]:
de jul. 01 15:27:28 server.ioc.cat dhcpd[6986]: exiting.
de jul. 01 15:27:30 server.ioc.cat isc-dhcp-server[6973]: Starting ISC DHCPv4 server: dhcpdcheck syslog for diagnostics. ... failed!
de jul. 01 15:27:30 server.ioc.cat isc-dhcp-server[6973]: failed!
de jul. 01 15:27:30 server.ioc.cat systemd[1]: isc-dhcp-server.service: Control process exited, code=exited, status=1/FAILURE
de jul. 01 15:27:30 server.ioc.cat systemd[1]: isc-dhcp-server.service: Failed with result 'exit-code'.
de jul. 01 15:27:30 server.ioc.cat systemd[1]: Failed to start LSB: DHCP server.
S'estan processant els activadors per a man-db (2.8.5-2)…
S'estan processant els activadors per a libc-bin (2.28-10)…
S'estan processant els activadors per a systemd (241-7~deb10u3)…
root@server:~#
Veureu que dona un error en instal·lar-se. Això és normal, com qualsevol altre servei de Debian, perquè en instal·lar-se s’intenta arrancar el servei. El que passa és que ve amb un fitxer de configuració per defecte que no coincideix amb la configuració de la xarxa. De fet, aquest fitxer de configuració és un fitxer autoexplicatiu amb multitud d’exemples per a la majoria de les configuracions.
Un cop instal·lat el servei, podeu esbrinar quina altres paquets hi ha instal·lats del mateix servei:
root@server:~# dpkg --get-selections | grep isc-dhcp*
isc-dhcp-client install
isc-dhcp-common install
isc-dhcp-server install
root@server:~#
Examinant el paquets principal podeu obtenir diferents informació:
root@server:~# dpkg -s isc-dhcp-server
Package: isc-dhcp-server
Status: install ok installed
Priority: optional
Section: net
Installed-Size: 1434
Maintainer: Debian ISC DHCP Maintainers <isc-dhcp@packages.debian.org>
Architecture: amd64
Source: isc-dhcp
Version: 4.4.1-2
Replaces: isc-dhcp-common (<= 4.3.3-1)
Depends: debconf (>= 0.5) | debconf-2.0, libc6 (>= 2.15), libdns-export1104, libirs-export161, libisc-export1100, debianutils (>= 2.8.2), lsb-base
Recommends: isc-dhcp-common, policycoreutils
Suggests: policykit-1, isc-dhcp-server-ldap
Breaks: isc-dhcp-common (<= 4.3.3-1), logcheck-database (<= 1.3.17~)
Conffiles:
/etc/dhcp/dhcpd.conf 7df121d67cad45b8f3793130195cb4b8
/etc/dhcp/dhcpd6.conf f35bba2be5960b902190d174dd9f0fb1
/etc/init.d/isc-dhcp-server 3c7b3c6fa3bcbb7f34e3ec7b657dadf0
/etc/logcheck/ignore.d.server/isc-dhcp-server 71f490713ed345ec955be8e2a5bc6cf4
Description: ISC DHCP server for automatic IP address assignment
This is the Internet Software Consortium's DHCP server.
.
Dynamic Host Configuration Protocol (DHCP) is a protocol like BOOTP
(actually dhcpd includes much of the functionality of bootpd). It
gives client machines "leases" for IP addresses and can
automatically set their network configuration.
.
This server can handle multiple ethernet interfaces.
Homepage: http://www.isc.org
root@server:~#
root@server:~# dpkg -L isc-dhcp-server | grep etc/dhcp
/etc/dhcp
/etc/dhcp/dhcpd.conf
/etc/dhcp/dhcpd6.conf
root@server:~#
root@server:~# dpkg -L isc-dhcp-server | grep /share
/usr/share
/usr/share/doc
/usr/share/doc/isc-dhcp-server
/usr/share/doc/isc-dhcp-server/NEWS.Debian.gz
/usr/share/doc/isc-dhcp-server/README.Debian
/usr/share/doc/isc-dhcp-server/README.gz
/usr/share/doc/isc-dhcp-server/TODO.Debian
/usr/share/doc/isc-dhcp-server/changelog.Debian.gz
/usr/share/doc/isc-dhcp-server/changelog.gz
/usr/share/doc/isc-dhcp-server/copyright
/usr/share/doc/isc-dhcp-server/examples
/usr/share/doc/isc-dhcp-server/examples/dhcpd.conf.example
/usr/share/man
/usr/share/man/man1
/usr/share/man/man1/omshell.1.gz
/usr/share/man/man5
/usr/share/man/man5/dhcpd.conf.5.gz
/usr/share/man/man5/dhcpd.leases.5.gz
/usr/share/man/man8
/usr/share/man/man8/dhcp-lease-list.8.gz
/usr/share/man/man8/dhcpd.8.gz
root@server:~#
root@server:~# dpkg -L isc-dhcp-server | grep bin
/usr/bin
/usr/bin/omshell
/usr/sbin
/usr/sbin/dhcp-lease-list
/usr/sbin/dhcpd
root@server:~#
2. Estat del servei. Per saber l’estat del servei i les opcions:
root@server:~# service isc-dhcp-server
Usage: /etc/init.d/isc-dhcp-server {start|stop|restart|force-reload|status}
root@server:~#
Podeu fer servir tant la comanda service, com el script directament, tot i que depenent de les versions pot variar. Les accions que es poden fer són les habituals en un servei Debian (en aquest cas no hi ha l’opció reload):
start: inicia el servei.
stop: atura el servei.
restart: reinicia el servei.
force-reload: fa el mateix que restart (es pot comprovar mirant en contingut del fitxer /etc/init.d/isc-dhcp-server).
status: mostra l’estat del servei.
També hi ha la comanda systemctl, però cal anar en compte ja que l’ordre dels paràmetres varia:
root@server:~# systemctl status isc-dhcp-server
● isc-dhcp-server.service - LSB: DHCP server
Loaded: loaded (/etc/init.d/isc-dhcp-server; generated)
Active: failed (Result: exit-code) since Wed 2020-07-01 15:27:30 CEST; 18min ago
Docs: man:systemd-sysv-generator(8)
de jul. 01 15:27:28 server.ioc.cat dhcpd[6986]: bugs on either our web page at www.isc.org or in the README file
de jul. 01 15:27:28 server.ioc.cat dhcpd[6986]: before submitting a bug. These pages explain the proper
de jul. 01 15:27:28 server.ioc.cat dhcpd[6986]: process and the information we find helpful for debugging.
de jul. 01 15:27:28 server.ioc.cat dhcpd[6986]:
de jul. 01 15:27:28 server.ioc.cat dhcpd[6986]: exiting.
de jul. 01 15:27:30 server.ioc.cat isc-dhcp-server[6973]: Starting ISC DHCPv4 server: dhcpdcheck syslog for diag
de jul. 01 15:27:30 server.ioc.cat isc-dhcp-server[6973]: failed!
de jul. 01 15:27:30 server.ioc.cat systemd[1]: isc-dhcp-server.service: Control process exited, code=exited, sta
de jul. 01 15:27:30 server.ioc.cat systemd[1]: isc-dhcp-server.service: Failed with result 'exit-code'.
de jul. 01 15:27:30 server.ioc.cat systemd[1]: Failed to start LSB: DHCP server.
root@server:~#
El sistema enregistra les accions relacionades amb el servidor DHCP en el fitxer de monitoratge estàndard /var/log/syslog:
root@server:~# cat /var/log/syslog | grep dhcp
Jul 1 16:55:27 server isc-dhcp-server[2572]: Launching IPv4 server only.
Jul 1 16:55:27 server dhcpd[2582]: WARNING: Host declarations are global. They are not limited to the scope you declared them in.
Jul 1 16:55:27 server dhcpd[2585]: WARNING: Host declarations are global. They are not limited to the scope you declared them in.
Jul 1 16:55:27 server dhcpd[2585]: Wrote 0 deleted host decls to leases file.
Jul 1 16:55:27 server dhcpd[2585]: Wrote 0 new dynamic host decls to leases file.
Jul 1 16:55:27 server dhcpd[2585]: Wrote 1 leases to leases file.
Jul 1 16:55:27 server dhcpd[2585]: Server starting service.
Jul 1 16:55:29 server isc-dhcp-server[2572]: Starting ISC DHCPv4 server: dhcpd.
Jul 1 16:56:22 server isc-dhcp-server[2614]: Stopping ISC DHCPv4 server: dhcpd.
Jul 1 16:56:22 server systemd[1]: isc-dhcp-server.service: Succeeded.
Jul 1 16:56:22 server isc-dhcp-server[2627]: Launching IPv4 server only.
Jul 1 16:56:22 server dhcpd[2637]: WARNING: Host declarations are global. They are not limited to the scope you declared them in.
Jul 1 16:56:22 server dhcpd[2640]: WARNING: Host declarations are global. They are not limited to the scope you declared them in.
Jul 1 16:56:22 server dhcpd[2640]: Wrote 0 deleted host decls to leases file.
Jul 1 16:56:22 server dhcpd[2640]: Wrote 0 new dynamic host decls to leases file.
Jul 1 16:56:22 server dhcpd[2640]: Wrote 1 leases to leases file.
Jul 1 16:56:22 server dhcpd[2640]: Server starting service.
Jul 1 16:56:24 server isc-dhcp-server[2627]: Starting ISC DHCPv4 server: dhcpd.
Amb el servei en marxa sempre es pot observar el PID del servidor per mitjà de:
root@server:~# ps ax | grep dhcp
2640 ? Ss 0:00 /usr/sbin/dhcpd -4 -q -cf /etc/dhcp/dhcpd.conf enp0s3
3113 pts/0 S+ 0:00 grep dhcp
root@server:~#
3. Configuració bàsica del servei DHCP. El fitxer de configuració principal és /etc/dhcp/dhcpd.conf, que està comentat amb les opcions més importants:
root@server:~# cat /etc/dhcp/dhcpd.conf
# dhcpd.conf
#
# Sample configuration file for ISC dhcpd
#
# option definitions common to all supported networks...
option domain-name "example.org";
option domain-name-servers ns1.example.org, ns2.example.org;
default-lease-time 600;
max-lease-time 7200;
# The ddns-updates-style parameter controls whether or not the server will
# attempt to do a DNS update when a lease is confirmed. We default to the
# behavior of the version 2 packages ('none', since DHCP v2 didn't
# have support for DDNS.)
ddns-update-style none;
# If this DHCP server is the official DHCP server for the local
# network, the authoritative directive should be uncommented.
#authoritative;
# Use this to send dhcp log messages to a different log file (you also
# have to hack syslog.conf to complete the redirection).
#log-facility local7;
...
Aquest fitxer també es pot trobar a la documentació del servidor a /usr/share/doc/isc-dhcp-server:
root@server:~# diff -s /etc/dhcp/dhcpd.conf /usr/share/doc/isc-dhcp-server/examples/dhcpd.conf.example
Els fitxers /etc/dhcp/dhcpd.conf i /usr/share/doc/isc-dhcp-server/examples/dhcpd.conf.example són idèntics
root@server:~#
En aquesta configuració per defecte es poden observar els diferents grups d’opcions:
Opcions globals: opcions que afecten el servidor en la seva totalitat.
Opcions de subxarxa: opcions que afecten una subxarxa en concret. Es poden crear tantes subxarxes com interfícies hi hagi.
Opcions de host: es poden definir opcions concretes per a un o múltiples hosts. Aquests s’identifiquen per l’adreça MAC. Es poden declarar dins d’una subxarxa o de forma global.
Opcions avançades: es permeten definir classes de clients per fer concessions determinades.
Hi ha un altre fitxer de configuració important que permet donar el servei DHCP a més d’una xarxa (en el cas que el servidor estigui connectat a més d’una xarxa). Aquest fitxer és el /etc/default/isc-dhcp-server i permet especificar a quines interfícies doneu el servei de DHCP:
root@server:~# cat /etc/default/isc-dhcp-server
# Defaults for isc-dhcp-server (sourced by /etc/init.d/isc-dhcp-server)
# Path to dhcpd's config file (default: /etc/dhcp/dhcpd.conf).
#DHCPDv4_CONF=/etc/dhcp/dhcpd.conf
#DHCPDv6_CONF=/etc/dhcp/dhcpd6.conf
# Path to dhcpd's PID file (default: /var/run/dhcpd.pid).
#DHCPDv4_PID=/var/run/dhcpd.pid
#DHCPDv6_PID=/var/run/dhcpd6.pid
# Additional options to start dhcpd with.
# Don't use options -cf or -pf here; use DHCPD_CONF/ DHCPD_PID instead
#OPTIONS=""
# On what interfaces should the DHCP server (dhcpd) serve DHCP requests?
# Separate multiple interfaces with spaces, e.g. "eth0 eth1".
INTERFACESv4=""
INTERFACESv6=""
root@server:~#
Per exemple, si el servidor està connectat a una xarxa LAN i a una WiFi i voleu donar el servei DHCP a ambdues xarxes, cal especificar el següent:
INTERFACESv4="eth0 wlan0"
Per tant, per realitzar la configuració bàsica (a part d’indicar a quina interfície escoltarà), cal modificar el contingut del fitxer /etc/dhcp/dhcpd.conf. Només cal que contingui les següents línies:
subnet 192.168.0.0 netmask 255.255.255.0 {
range 192.168.0.150 192.168.0.159;
}
Reinicieu el servei perquè els canvis tinguin efecte:
root@server:~# service isc-dhcp-server restart
root@server:~# service isc-dhcp-server status
● isc-dhcp-server.service - LSB: DHCP server
Loaded: loaded (/etc/init.d/isc-dhcp-server; generated)
Active: active (running) since Wed 2020-07-01 16:28:21 CEST; 4s ago
Docs: man:systemd-sysv-generator(8)
Process: 1647 ExecStart=/etc/init.d/isc-dhcp-server start (code=exited, status=0/SUCCESS)
Tasks: 1 (limit: 1138)
Memory: 4.5M
CGroup: /system.slice/isc-dhcp-server.service
└─1660 /usr/sbin/dhcpd -4 -q -cf /etc/dhcp/dhcpd.conf enp0s3
de jul. 01 16:28:19 server.ioc.cat systemd[1]: isc-dhcp-server.service: Succeeded.
de jul. 01 16:28:19 server.ioc.cat systemd[1]: Stopped LSB: DHCP server.
de jul. 01 16:28:19 server.ioc.cat systemd[1]: Starting LSB: DHCP server...
de jul. 01 16:28:19 server.ioc.cat isc-dhcp-server[1647]: Launching IPv4 server only.
de jul. 01 16:28:19 server.ioc.cat dhcpd[1660]: Wrote 0 leases to leases file.
de jul. 01 16:28:19 server.ioc.cat dhcpd[1660]: Server starting service.
de jul. 01 16:28:21 server.ioc.cat isc-dhcp-server[1647]: Starting ISC DHCPv4 server: dhcpd.
de jul. 01 16:28:21 server.ioc.cat systemd[1]: Started LSB: DHCP server.
root@server:~#
Comproveu amb un client que el servidor proporciona una adreça i una màscara correcta:
jciberta@IOC:~$ sudo dhclient -v
[sudo] password for jciberta:
Internet Systems Consortium DHCP Client 4.3.5
Copyright 2004-2016 Internet Systems Consortium.
All rights reserved.
For info, please visit https://www.isc.org/software/dhcp/
Listening on LPF/enp0s3/08:00:27:f8:f9:29
Sending on LPF/enp0s3/08:00:27:f8:f9:29
Sending on Socket/fallback
DHCPDISCOVER on enp0s3 to 255.255.255.255 port 67 interval 3 (xid=0xeb6bbe3f)
DHCPREQUEST of 192.168.0.150 on enp0s3 to 255.255.255.255 port 67 (xid=0x3fbe6beb)
DHCPOFFER of 192.168.0.150 from 192.168.0.1
DHCPACK of 192.168.0.150 from 192.168.0.1
bound to 192.168.0.150 -- renewal in 19486 seconds.
jciberta@IOC:~$
Observeu com li ha donat la primera IP de la llista que heu especificat al servidor. També podeu observar amb la comanda dhclient qui és el servidor que atorga la IP. Aquesta opció és molt útil en cas de resolució d’algun problema amb la configuració de la xarxa.
Finalment torneu al servidor per observar el fitxer de concessions /var/lib/dhcp/dhcpd.leases:
root@server:~# tail /var/lib/dhcp/dhcpd.leases
lease 192.168.0.150 {
starts 3 2020/07/01 14:30:32;
ends 4 2020/07/02 02:30:32;
cltt 3 2020/07/01 14:30:32;
binding state active;
next binding state free;
rewind binding state free;
hardware ethernet 08:00:27:f8:f9:29;
client-hostname "IOC";
}
root@server:~#
També ho podeu visualitzar a través de la comanda dhcp-lease-list:
root@server:~# dhcp-lease-list --last
To get manufacturer names please download http://standards.ieee.org/regauth/oui/oui.txt to /usr/local/etc/oui.txt
Reading leases from /var/lib/dhcp/dhcpd.leases
MAC IP hostname valid until manufacturer
==========================================================================================================================================================================================================================================
08:00:27:f8:f9:29 192.168.0.150 IOC 2020-07-02 02:30:32 PCS Systemtechnik GmbH
root@server:~#
4. Configuració avançada del servei DHCP. En aquest cas, el contingut del fitxer /etc/dhcp/dhcpd.conf ha de ser el següent:
subnet 192.168.0.0 netmask 255.255.255.0 {
range 192.168.0.150 192.168.0.159;
default-lease-time 7200;
max-lease-time 72000;
option routers 192.168.0.1;
option subnet-mask 255.255.255.0;
option broadcast-address 192.168.0.255;
option domain-name-servers 8.8.8.8;
host jciberta-client {
hardware ethernet 08:00:27:f8:f9:29;
fixed-address 192.168.0.199;
}
}
Torneu a reiniciar el servei:
root@server:~# /etc/init.d/isc-dhcp-server restart
[ ok ] Restarting isc-dhcp-server (via systemctl): isc-dhcp-server.service.
root@server:~#
Torneu a anar al client i allibereu la IP anterior per, posteriorment, demanar-ne una de nova:
jciberta@IOC:~$ sudo dhclient -v
Internet Systems Consortium DHCP Client 4.3.5
Copyright 2004-2016 Internet Systems Consortium.
All rights reserved.
For info, please visit https://www.isc.org/software/dhcp/
Listening on LPF/enp0s3/08:00:27:f8:f9:29
Sending on LPF/enp0s3/08:00:27:f8:f9:29
Sending on Socket/fallback
DHCPDISCOVER on enp0s3 to 255.255.255.255 port 67 interval 3 (xid=0x867cb902)
DHCPREQUEST of 192.168.0.199 on enp0s3 to 255.255.255.255 port 67 (xid=0x2b97c86)
DHCPOFFER of 192.168.0.199 from 192.168.0.1
DHCPACK of 192.168.0.199 from 192.168.0.1
bound to 192.168.0.199 -- renewal in 2969 seconds.
jciberta@IOC:~$
Podeu comprovar que també s’ha atorgat la porta d’enllaç i el servidor DNS:
jciberta@IOC:~$ ip route
default via 192.168.0.1 dev enp0s3
192.168.0.0/24 dev enp0s3 proto kernel scope link src 192.168.0.199
192.168.0.0/24 dev enp0s3 proto kernel scope link src 192.168.0.199 metric 100
jciberta@IOC:~$ cat /etc/resolv.conf
nameserver 8.8.8.8
jciberta@IOC:~$
Torneu a realitzar la operació des del client, però aquest cop captureu els paquets amb un sniffer. Aquest mètode és útil quan teniu problemes per determinar de quina part venen, és a dir, si venen del servidor o del client, ja que permet veure el que s’està transmetent. Depenent d’aquestes dades s’actua d’una manera o una altra.
En aquest cas s’ha d’utilitzar l’sniffer tcpdump, que funciona en mode text. Executeu la comanda on especifiquem quina interfície escolteu, quins ports voleu capturar i quines dades voleu mostrar. L’eina es queda en standby mentre captura paquets. Per finalitzar, cal fer un ^C. Podeu observar 5 paquets (comencen per l’hora que han estat capturats), i a l’apartat DHCP-Message Option s’indica de quin missatge es tracta:
root@server:~# tcpdump -i enp0s3 'port 67 or port 68' -e -vv
tcpdump: listening on enp0s3, link-type EN10MB (Ethernet), capture size 262144 bytes
17:14:30.749272 08:00:27:f8:f9:29 (oui Unknown) > 08:00:27:5f:62:59 (oui Unknown), ethertype IPv4 (0x0800), length 342: (tos 0x0, ttl 64, id 45722, offset 0, flags [DF], proto UDP (17), length 328)
192.168.0.199.bootpc > 192.168.0.1.bootps: [udp sum ok] BOOTP/DHCP, Request from 08:00:27:f8:f9:29 (oui Unknown), length 300, xid 0x6e7ef754, Flags [none] (0x0000)
Client-IP 192.168.0.199
Client-Ethernet-Address 08:00:27:f8:f9:29 (oui Unknown)
Vendor-rfc1048 Extensions
Magic Cookie 0x63825363
DHCP-Message Option 53, length 1: Release
Server-ID Option 54, length 4: 192.168.0.1
Hostname Option 12, length 3: "IOC"
17:14:32.329168 08:00:27:f8:f9:29 (oui Unknown) > Broadcast, ethertype IPv4 (0x0800), length 342: (tos 0x10, ttl 128, id 0, offset 0, flags [none], proto UDP (17), length 328)
0.0.0.0.bootpc > 255.255.255.255.bootps: [udp sum ok] BOOTP/DHCP, Request from 08:00:27:f8:f9:29 (oui Unknown), length 300, xid 0x3b2ee607, Flags [none] (0x0000)
Client-Ethernet-Address 08:00:27:f8:f9:29 (oui Unknown)
Vendor-rfc1048 Extensions
Magic Cookie 0x63825363
DHCP-Message Option 53, length 1: Discover
Requested-IP Option 50, length 4: 192.168.0.199
Hostname Option 12, length 3: "IOC"
Parameter-Request Option 55, length 13:
Subnet-Mask, BR, Time-Zone, Default-Gateway
Domain-Name, Domain-Name-Server, Option 119, Hostname
Netbios-Name-Server, Netbios-Scope, MTU, Classless-Static-Route
NTP
17:14:32.329548 08:00:27:5f:62:59 (oui Unknown) > 08:00:27:f8:f9:29 (oui Unknown), ethertype IPv4 (0x0800), length 342: (tos 0x10, ttl 128, id 0, offset 0, flags [none], proto UDP (17), length 328)
192.168.0.1.bootps > 192.168.0.199.bootpc: [udp sum ok] BOOTP/DHCP, Reply, length 300, xid 0x3b2ee607, Flags [none] (0x0000)
Your-IP 192.168.0.199
Client-Ethernet-Address 08:00:27:f8:f9:29 (oui Unknown)
Vendor-rfc1048 Extensions
Magic Cookie 0x63825363
DHCP-Message Option 53, length 1: Offer
Server-ID Option 54, length 4: 192.168.0.1
Lease-Time Option 51, length 4: 7200
Subnet-Mask Option 1, length 4: 255.255.255.0
BR Option 28, length 4: 192.168.0.255
Default-Gateway Option 3, length 4: 192.168.0.1
Domain-Name-Server Option 6, length 4: 8.8.8.8
17:14:32.330705 08:00:27:f8:f9:29 (oui Unknown) > Broadcast, ethertype IPv4 (0x0800), length 342: (tos 0x10, ttl 128, id 0, offset 0, flags [none], proto UDP (17), length 328)
0.0.0.0.bootpc > 255.255.255.255.bootps: [udp sum ok] BOOTP/DHCP, Request from 08:00:27:f8:f9:29 (oui Unknown), length 300, xid 0x3b2ee607, Flags [none] (0x0000)
Client-Ethernet-Address 08:00:27:f8:f9:29 (oui Unknown)
Vendor-rfc1048 Extensions
Magic Cookie 0x63825363
DHCP-Message Option 53, length 1: Request
Server-ID Option 54, length 4: 192.168.0.1
Requested-IP Option 50, length 4: 192.168.0.199
Hostname Option 12, length 3: "IOC"
Parameter-Request Option 55, length 13:
Subnet-Mask, BR, Time-Zone, Default-Gateway
Domain-Name, Domain-Name-Server, Option 119, Hostname
Netbios-Name-Server, Netbios-Scope, MTU, Classless-Static-Route
NTP
17:14:32.330844 08:00:27:5f:62:59 (oui Unknown) > 08:00:27:f8:f9:29 (oui Unknown), ethertype IPv4 (0x0800), length 342: (tos 0x10, ttl 128, id 0, offset 0, flags [none], proto UDP (17), length 328)
192.168.0.1.bootps > 192.168.0.199.bootpc: [udp sum ok] BOOTP/DHCP, Reply, length 300, xid 0x3b2ee607, Flags [none] (0x0000)
Your-IP 192.168.0.199
Client-Ethernet-Address 08:00:27:f8:f9:29 (oui Unknown)
Vendor-rfc1048 Extensions
Magic Cookie 0x63825363
DHCP-Message Option 53, length 1: ACK
Server-ID Option 54, length 4: 192.168.0.1
Lease-Time Option 51, length 4: 7200
Subnet-Mask Option 1, length 4: 255.255.255.0
BR Option 28, length 4: 192.168.0.255
Default-Gateway Option 3, length 4: 192.168.0.1
Domain-Name-Server Option 6, length 4: 8.8.8.8
^C
5 packets captured
5 packets received by filter
0 packets dropped by kernel
root@server:~#