[Kea-users] KEA 1.1.0 vs. isc-dhcp-server 4.3.3

Ralf Hildebrandt Ralf.Hildebrandt at charite.de
Fri Jan 6 12:04:30 UTC 2017


* Thomas Markwalder <tmark at isc.org>:

> If you can share your config and the packet capture that would be
> helpful.  What client software are you using?  You might try running
> ISC_DHCP's dhclient in the foreground/debug mode (add -d to the command
> line).  This dumps a fair amount of information to the console.  If you
> like, you can give it the attached script, hollow_client.sh, as the
> client script.  This script is essentially a NOP that just echos the
> environment variables that dhclient exports when it invokes the script. 
> The script doesn't altering any of the OS configuration the way the live
> script does.
> 
> 
>     dhclient -d -v -4 -1 -cf <your config file>  -sf <path>/hollow_client.sh

Attached is a dump (DHCP.dump) made with 
% tcpdump -i ens192 -vvv -s 1500 '((port 67 or port 68) and (udp[38:4] = 0x001742ef506a))' > DHCP.dump
on the KEA server

the server log for the relevant period:

2017-01-06 12:46:54.528 INFO  [kea-dhcp4.leases/10332] HCP4_LEASE_ADVERT [hwtype=1 00:17:42:ef:50:6a], cid=[no info], tid=0x350ff97f: lease 10.31.192.8 will be advertised
2017-01-06 12:46:54.530 DEBUG [kea-dhcp4.bad-packets/10332] DHCP4_PACKET_DROP_0003 [hwtype=1 00:17:42:ef:50:6a], cid=[no info], tid=0x350ff97f, from interface ens192: it contains a foreign server identifier
2017-01-06 12:46:57.058 DEBUG [kea-dhcp4.bad-packets/10332] DHCP4_PACKET_DROP_0003 [hwtype=1 00:17:42:ef:50:6a], cid=[no info], tid=0x350ff97f, from interface ens192: it contains a foreign server identifier
2017-01-06 12:47:05.473 INFO  [kea-dhcp4.leases/10332] DHCP4_LEASE_ADVERT [hwtype=1 00:17:42:ef:50:6a], cid=[no info], tid=0xe62ae002: lease 10.31.192.8 will be advertised
2017-01-06 12:47:05.474 DEBUG [kea-dhcp4.bad-packets/10332] DHCP4_PACKET_DROP_0003 [hwtype=1 00:17:42:ef:50:6a], cid=[no info], tid=0xe62ae002, from interface ens192: it contains a foreign server identifier
2017-01-06 12:47:08.873 DEBUG [kea-dhcp4.bad-packets/10332] DHCP4_PACKET_DROP_0003 [hwtype=1 00:17:42:ef:50:6a], cid=[no info], tid=0xe62ae002, from interface ens192: it contains a foreign server identifier
2017-01-06 12:47:15.119 DEBUG [kea-dhcp4.bad-packets/10332] DHCP4_PACKET_DROP_0003 [hwtype=1 00:17:42:ef:50:6a], cid=[no info], tid=0xe62ae002, from interface ens192: it contains a foreign server identifier
2017-01-06 12:47:25.889 INFO  [kea-dhcp4.leases/10332] DHCP4_LEASE_ADVERT [hwtype=1 00:17:42:ef:50:6a], cid=[no info], tid=0x93257623: lease 10.31.192.8 will be advertised
2017-01-06 12:47:25.891 DEBUG [kea-dhcp4.bad-packets/10332] DHCP4_PACKET_DROP_0003 [hwtype=1 00:17:42:ef:50:6a], cid=[no info], tid=0x93257623, from interface ens192: it contains a foreign server identifier
2017-01-06 12:47:28.233 DEBUG [kea-dhcp4.bad-packets/10332] DHCP4_PACKET_DROP_0003 [hwtype=1 00:17:42:ef:50:6a], cid=[no info], tid=0x93257623, from interface ens192: it contains a foreign server identifier
2017-01-06 12:47:34.412 DEBUG [kea-dhcp4.bad-packets/10332] DHCP4_PACKET_DROP_0003 [hwtype=1 00:17:42:ef:50:6a], cid=[no info], tid=0x93257623, from interface ens192: it contains a foreign server identifier
2017-01-06 12:47:36.793 INFO  [kea-dhcp4.leases/10332] DHCP4_LEASE_ADVERT [hwtype=1 00:17:42:ef:50:6a], cid=[no info], tid=0x1a4a0636: lease 10.31.192.8 will be advertised
2017-01-06 12:47:36.797 DEBUG [kea-dhcp4.bad-packets/10332] DHCP4_PACKET_DROP_0003 [hwtype=1 00:17:42:ef:50:6a], cid=[no info], tid=0x1a4a0636, from interface ens192: it contains a foreign server identifier
2017-01-06 12:47:39.666 DEBUG [kea-dhcp4.bad-packets/10332] DHCP4_PACKET_DROP_0003 [hwtype=1 00:17:42:ef:50:6a], cid=[no info], tid=0x1a4a0636, from interface ens192: it contains a foreign server identifier
2017-01-06 12:47:42.436 DEBUG [kea-dhcp4.bad-packets/10332] DHCP4_PACKET_DROP_0003 [hwtype=1 00:17:42:ef:50:6a], cid=[no info], tid=0x1a4a0636, from interface ens192: it contains a foreign server identifier
2017-01-06 12:47:45.638 DEBUG [kea-dhcp4.bad-packets/10332] DHCP4_PACKET_DROP_0003 [hwtype=1 00:17:42:ef:50:6a], cid=[no info], tid=0x1a4a0636, from interface ens192: it contains a foreign server identifier
2017-01-06 12:47:49.402 INFO  [kea-dhcp4.leases/10332] DHCP4_LEASE_ADVERT [hwtype=1 00:17:42:ef:50:6a], cid=[no info], tid=0x87a08e1d: lease 10.31.192.8 will be advertised
2017-01-06 12:47:49.404 DEBUG [kea-dhcp4.bad-packets/10332] DHCP4_PACKET_DROP_0003 [hwtype=1 00:17:42:ef:50:6a], cid=[no info], tid=0x87a08e1d, from interface ens192: it contains a foreign server identifier

Attached is the client's log (sorry for the slight offset, since the
machine caanot obtain a network address, the internal clock is a bit
off).

Attached is the server's config.

-- 
Ralf Hildebrandt                   Charite Universitätsmedizin Berlin
ralf.hildebrandt at charite.de        Campus Benjamin Franklin
http://www.charite.de              Hindenburgdamm 30, 12203 Berlin
Geschäftsbereich IT, Abt. Netzwerk fon: +49-30-450.570.155
-------------- next part --------------
Jan  6 12:46:50 hildeb-LIFEBOOK-P8010 dhclient[6878]: DHCPREQUEST of 10.31.192.8 on eth0 to 255.255.255.255 port 67 (xid=0x77cbb7a8)
Jan  6 12:47:07 hildeb-LIFEBOOK-P8010 NetworkManager[841]: <info>  [1483703227.6689] dhcp4 (eth0): dhclient started with pid 6902
Jan  6 12:47:07 hildeb-LIFEBOOK-P8010 dhclient[6902]: DHCPDISCOVER on eth0 to 255.255.255.255 port 67 interval 3 (xid=0x350ff97f)
Jan  6 12:47:10 hildeb-LIFEBOOK-P8010 dhclient[6902]: DHCPDISCOVER on eth0 to 255.255.255.255 port 67 interval 8 (xid=0x350ff97f)
Jan  6 12:47:10 hildeb-LIFEBOOK-P8010 dhclient[6902]: DHCPREQUEST of 10.31.192.8 on eth0 to 255.255.255.255 port 67 (xid=0x7ff90f35)
Jan  6 12:47:10 hildeb-LIFEBOOK-P8010 dhclient[6902]: DHCPOFFER of 10.31.192.8 from 10.31.192.2
Jan  6 12:47:13 hildeb-LIFEBOOK-P8010 dhclient[6902]: DHCPREQUEST of 10.31.192.8 on eth0 to 255.255.255.255 port 67 (xid=0x7ff90f35)
Jan  6 12:47:21 hildeb-LIFEBOOK-P8010 dhclient[6902]: DHCPDISCOVER on eth0 to 255.255.255.255 port 67 interval 3 (xid=0xe62ae002)
Jan  6 12:47:21 hildeb-LIFEBOOK-P8010 dhclient[6902]: DHCPREQUEST of 10.31.192.8 on eth0 to 255.255.255.255 port 67 (xid=0x2e02ae6)
Jan  6 12:47:21 hildeb-LIFEBOOK-P8010 dhclient[6902]: DHCPOFFER of 10.31.192.8 from 10.31.192.2
Jan  6 12:47:24 hildeb-LIFEBOOK-P8010 dhclient[6902]: DHCPREQUEST of 10.31.192.8 on eth0 to 255.255.255.255 port 67 (xid=0x2e02ae6)
Jan  6 12:47:31 hildeb-LIFEBOOK-P8010 dhclient[6902]: DHCPREQUEST of 10.31.192.8 on eth0 to 255.255.255.255 port 67 (xid=0x2e02ae6)
Jan  6 12:47:41 hildeb-LIFEBOOK-P8010 dhclient[6902]: DHCPDISCOVER on eth0 to 255.255.255.255 port 67 interval 3 (xid=0x93257623)
Jan  6 12:47:41 hildeb-LIFEBOOK-P8010 dhclient[6902]: DHCPREQUEST of 10.31.192.8 on eth0 to 255.255.255.255 port 67 (xid=0x23762593)
Jan  6 12:47:41 hildeb-LIFEBOOK-P8010 dhclient[6902]: DHCPOFFER of 10.31.192.8 from 10.31.192.2
Jan  6 12:47:44 hildeb-LIFEBOOK-P8010 dhclient[6902]: DHCPREQUEST of 10.31.192.8 on eth0 to 255.255.255.255 port 67 (xid=0x23762593)
Jan  6 12:47:50 hildeb-LIFEBOOK-P8010 dhclient[6902]: DHCPREQUEST of 10.31.192.8 on eth0 to 255.255.255.255 port 67 (xid=0x23762593)
Jan  6 12:47:52 hildeb-LIFEBOOK-P8010 NetworkManager[841]: <info>  [1483703272.8247] dhcp4 (eth0): dhclient started with pid 6914
Jan  6 12:47:52 hildeb-LIFEBOOK-P8010 dhclient[6914]: DHCPDISCOVER on eth0 to 255.255.255.255 port 67 interval 3 (xid=0x1a4a0636)
Jan  6 12:47:52 hildeb-LIFEBOOK-P8010 dhclient[6914]: DHCPREQUEST of 10.31.192.8 on eth0 to 255.255.255.255 port 67 (xid=0x36064a1a)
Jan  6 12:47:52 hildeb-LIFEBOOK-P8010 dhclient[6914]: DHCPOFFER of 10.31.192.8 from 10.31.192.2
Jan  6 12:47:55 hildeb-LIFEBOOK-P8010 dhclient[6914]: DHCPREQUEST of 10.31.192.8 on eth0 to 255.255.255.255 port 67 (xid=0x36064a1a)

-------------- next part --------------
# This is a basic configuration for the Kea DHCPv4 sever.
# Subnet declarations are commented out and no interfaces are listed.
# Therefore, the servers will not listen or respond to any queries.
# The basic configuration must be extended to specify interfaces on
# which the servers should listen. Also, subnets and options must be
# declared.
{

# DHCPv4 configuration starts here.
	"Dhcp4": {
# Add names of interfaces to listen on.
		"interfaces-config": {
			"interfaces": [ "ens192" ],
			"dhcp-socket-type": "udp"
		},

# Use Memfile lease database backend to store leases in a CSV file.
		"lease-database": {
			"type": "memfile",
			"persist": true,
			"name": "/var/kea/dhcp4.leases"
		},

# Setup reclamation of the expired leases and leases affinity.
# Expired leases will be reclaimed every 10 seconds. Every 25
# seconds reclaimed leases, which have expired more than 3600
# seconds ago, will be removed. The limits for leases reclamation
# are 100 leases or 250 ms for a single cycle. A warning message
# will be logged if there are still expired leases in the
# database after 5 consecutive reclamation cycles.
		"expired-leases-processing": {
			"reclaim-timer-wait-time": 10,
			"flush-reclaimed-timer-wait-time": 25,
			"hold-reclaimed-time": 3600,
			"max-reclaim-leases": 100,
			"max-reclaim-time": 250,
			"unwarned-reclaim-cycles": 5
		},

# Global (inherited by all subnets) lease lifetime is mandatory parameter.
		"valid-lifetime": 4000,

		"option-data": [
			{
				"name": "domain-name-servers",
				"code": 6,
				"space": "dhcp4",
				"csv-format": true,
				"data": "141.42.206.150, 193.175.73.150"
			},
			{
				"name": "domain-name",
				"code": 15,
				"space": "dhcp4",
				"csv-format": true,
				"data": "charite.de"
			},
			{
				"name": "time-servers",
				"code": 4,
				"space": "dhcp4",
				"csv-format": true,
				"data": "193.175.73.51"
			}
		],

# Below an example of the simple subnet declaration. Uncomment to
# enable it. This is a list, denoted with [ ], of structure, denoted
# with { }. Each structure describes a single subnet and may have
# several parameters. One of those parameters is "pools" that is
# also a list of structures.
		"subnet4": [
			{
				"subnet": "10.31.16.0/22",
				"pools": [ { "pool": "10.31.16.65 - 10.31.19.254" } ],
				"option-data": [ {
					"name": "routers",
					"code": 3,
					"space": "dhcp4",
					"csv-format": true,
					"data": "10.31.16.1"
				} ]
			},
			{
				"subnet": "10.31.32.0/20",
				"pools": [ { "pool": "10.31.32.20 - 10.31.47.254" } ],
				"option-data": [ {
					"name": "routers",
					"code": 3,
					"space": "dhcp4",
					"csv-format": true,
					"data": "10.31.32.1"
				} ]
			},
			{
				"subnet": "10.31.64.0/20",
				"pools": [ { "pool": "10.31.64.20 - 10.31.79.254" } ], 
				"option-data": [ {
					"name": "routers",
					"code": 3,
					"space": "dhcp4",
					"csv-format": true,
					"data": "10.31.64.1"
				} ]
			},
			{
				"subnet": "10.31.96.0/20",
				"pools": [ { "pool": "10.31.96.20 - 10.31.111.254" } ], 
				"option-data": [ {
					"name": "routers",
					"code": 3,
					"space": "dhcp4",
					"csv-format": true,
					"data": "10.31.96.1"
				} ]
			},
			{
				"subnet": "10.31.192.0/28",
				"pools": [ { "pool": "10.31.192.5 - 10.31.192.14" } ], 
				"option-data": [ {
					"name": "routers",
					"code": 3,
					"space": "dhcp4",
					"csv-format": true,
					"data": "10.31.192.1"
				} ]
			}
		]
	},

# Logging configuration starts here. It tells Kea servers to store
# all log messages (on severity INFO or more) in a file.
# debuglevel variable is used on DEBUG level only.

	"Logging": {
		"loggers": [
			{
				"name": "kea-dhcp4",
				"output_options": [ {
					"output": "/var/log/kea-dhcp4.log"
				} ],
				"severity": "INFO",
				"debuglevel": 0
			},
			{
				"name": "kea-dhcp4.bad-packets",
				"output_options": [ {
					"output": "/var/log/kea-dhcp4.debug.log"
				} ],
				"severity": "DEBUG",
				"debuglevel": 99
			}
		]
	}
}


More information about the Kea-users mailing list