[Kea-users] one interface, multiple subnets

Francis Dupont fdupont at isc.org
Mon Oct 16 17:45:35 UTC 2017


Marco Broglia writes:
> We (a university) are using the old ISC DHCP server (v4.2.4) and we'd like
> to adopt the new Kea DHCP Server.
> 
> We setup a Kea Dhcp server with a given ip (ex 10.1.1.1). We have to
> configure/xfer about 200 subnets 10.x.y.0/24 with out-of-pool reservations
> and (possibly) dynamic dns update. No dynamic pools.
> 
> I read in the reference ("8.6. How the DHCPv4 Server Selects a Subnet for
> the Client")
> 
>   "the server will only process messages received through this interface
> from a directly connected client if there is a subnet configured to which
> this IPv4 address belongs".

=> I can't find the statement you cite. BTW it does not really matter as
the real text does not bring immediate answer to your question.

> How can we configure a multi subnet environment ? Every subnet has its own
> id and router (gateway) and other options. Eg id 10230, subnet 10.2.3.0/24,
> routers 10.2.3.1.

=> you need a way to put a discover in the right subnet. If you are
lucky this way can go into a client class expression. Note for a discover
you don't have the address so the subnet does not trivially match
as for a renewal request. Another point: the subnet should be tried
so it should have an interface.

> First tests shown that all the dhcp requests from client in that subnet are
> ignored because there is no interface on that subnet on the server.

=> see "another point".

> we can't define all the hosts in the same /8 subnet.

=> in fact not only you can but it is likely the easiest.

But if you can wait for the next release (end of this month) it has
a shared-network feature which allows to group host reservations
so not to have to spread option-data's to host reservations,
and not to use client classes as all pools are empty,
i.e.:

"shared-networks": [
{
  "name": "foo",
  "interface": "bar",
  "subnet4": [
    {
      "id": 1002,
      "subnet": "10.1.2.0/24",
      "option-data": { { ... } ],
      "pools": [ ],
      "reservations": [
        { "hw-address": "1a:1b:1c:1d:1e:1f", "ip-address": "10.1.2.1" },
	...

Look at the devel version of the user/admin's guide section 8.4.3.

Regards

Francis Dupont <fdupont at isc.org>


More information about the Kea-users mailing list