[Kea-users] New IP address after each reboot

Peter Davies peter.watson.davies at outlook.com
Mon Oct 19 08:28:44 UTC 2020


Hi Anton,

   Have you considered dropping the DHCPRELEASE packets instead?

You can read how this could be done in Gitlab #606 "Drop packets in DROP class" at https://gitlab.isc.org/isc-projects/kea/-/issues/606


Please refer to the Kea Arm for a discussion on the "DROP" class.


Kind Regards Peter


________________________________
From: Kea-users <kea-users-bounces at lists.isc.org> on behalf of Anton Starikov <starikov.a at tecomgroup.ru>
Sent: 18 October 2020 19:02
To: kea-users at lists.isc.org <kea-users at lists.isc.org>
Subject: [Kea-users] New IP address after each reboot


Good afternoon!

Sorry for my english.



There is a problem with Kea Dhcp4 1.6.3 (1.8 is the same).

After each reboot, the client (Ubuntu, Arch) gets a new ip address from KeaDhcp. As I understand it, this is due to the fact that Kea, after receiving DHCPRELEASE from the client, does not immediately release the address (although it adds a line with expire = 0 to the lease-database), but does it after a while.

As an experiment, I limited the address pool to two ip. And with each reboot (interval ~ 20 seconds), the client received different addresses in a circle.

Previously, Mikrotik was used as DHCP, there was no such problem. The client rebooted and, if the address was still free, he received it back.

Is there any way to force Kea to immediately release such addresses?



I tried to change the settings described in the documentation in section "10. Lease Expiration", it didn't help.









{

  "Dhcp4": {

    "loggers": [

        {

            "name": "kea-dhcp4",

            "output_options": [

                {

                    "output": "/var/log/kea-debug.log",

                    "maxver": 8,

                    "maxsize": 204800,

                    "flush": true,

                    "pattern": "%d{%j %H:%M:%S.%q} %c %m\n"

                }

            ],

            "severity": "DEBUG",

            "debuglevel": 99

        },

        {

            "name": "kea-dhcp4.commands",

            "output_options": [

                {

                    "output": "syslog"

                }

            ],

            "severity": "DEBUG",

            "debuglevel": 99

        },

        {

            "name": "kea-dhcp4.http",

            "output_options": [

                {

                    "output": "syslog"

                }

            ],

            "severity": "DEBUG",

            "debuglevel": 99

        },

        {

            "name": "kea-dhcp4.callouts",

            "output_options": [

                {

                    "output": "syslog"

                }

            ],

            "severity": "DEBUG",

            "debuglevel": 99

        }],

    "authoritative": false,

    "boot-file-name": "",

    "calculate-tee-times": true,

    "client-classes": [

      {

        "boot-file-name": "",

        "name": "pxe",

        "next-server": "10.0.0.12",

        "only-if-required": true,

        "option-data": [

          {

            "always-send": false,

            "code": 66,

            "csv-format": true,

            "data": "10.0.0.12",

            "name": "tftp-server-name",

            "space": "dhcp4"

          },

          {

            "always-send": false,

            "code": 67,

            "csv-format": true,

            "data": "grldr",

            "name": "boot-file-name",

            "space": "dhcp4"

          }

        ],

        "option-def": [ ],

        "server-hostname": "",

        "test": "member('ALL')"

      },

      {

        "boot-file-name": "",

        "name": "voip",

        "next-server": "10.0.0.10",

        "only-if-required": true,

        "option-data": [

          {

            "always-send": false,

            "code": 66,

            "csv-format": true,

            "data": "10.0.0.10",

            "name": "tftp-server-name",

            "space": "dhcp4"

          },

          {

            "always-send": false,

            "code": 67,

            "csv-format": true,

            "data": "grldr1",

            "name": "boot-file-name",

            "space": "dhcp4"

          }

        ],

        "option-def": [ ],

        "server-hostname": "",

        "test": "member('ALL')"

      }

    ],

    "control-socket": {

      "socket-name": "/tmp/kea-dhcp4-ctrl.sock",

      "socket-type": "unix"

    },

    "decline-probation-period": 86400,

    "dhcp-ddns": {

      "enable-updates": false,

      "generated-prefix": "myhost",

      "max-queue-size": 1024,

      "ncr-format": "JSON",

      "ncr-protocol": "UDP",

      "override-client-update": false,

      "override-no-update": false,

      "qualifying-suffix": "",

      "replace-client-name": "never",

      "sender-ip": "0.0.0.0",

      "sender-port": 0,

      "server-ip": "127.0.0.1",

      "server-port": 53001

    },

    "dhcp-queue-control": {

      "capacity": 500,

      "enable-queue": false,

      "queue-type": "kea-ring4"

    },

    "dhcp4o6-port": 0,

    "echo-client-id": true,

    "expired-leases-processing": {

      "flush-reclaimed-timer-wait-time": 5,

      "hold-reclaimed-time": 1800,

      "max-reclaim-leases": 100,

      "max-reclaim-time": 250,

      "reclaim-timer-wait-time": 10,

      "unwarned-reclaim-cycles": 5

    },

    "hooks-libraries": [

      {

        "library": "/usr/lib/x86_64-linux-gnu/kea/hooks/libdhcp_lease_cmds.so"

      }

    ],

    "host-reservation-identifiers": [ "hw-address"],

    "interfaces-config": {

      "interfaces": [ "*" ],

      "re-detect": true

    },

    "lease-database": {

      "name": "/var/lib/kea/dhcp4.leases",

      "persist": true,

      "type": "memfile"

    },

    "match-client-id": false,

    "next-server": "0.0.0.0",

    "option-data": [

      {

        "always-send": false,

        "code": 6,

        "csv-format": true,

        "data": "10.0.0.1",

        "name": "domain-name-servers",

        "space": "dhcp4"

      },

      {

        "always-send": false,

        "code": 15,

        "csv-format": true,

        "data": "lab.winitlab.com",

        "name": "domain-name",

        "space": "dhcp4"

      },

      {

        "always-send": false,

        "code": 119,

        "csv-format": false,

        "data": "057465636F6D046E6E6F76027275000A7465636F6D67726F757002727500",

        "name": "domain-search",

        "space": "dhcp4"

      }

    ],

    "option-def": [ ],

    "t1-percent": 0.5,

    "t2-percent": 0.875,

    "reservation-mode": "all",

    "sanity-checks": {

      "lease-checks": "warn"

    },

    "server-hostname": "",

    "server-tag": "",

    "shared-networks": [ ],

    "subnet4": [

      {

        "4o6-interface": "",

        "4o6-interface-id": "",

        "4o6-subnet": "",

        "authoritative": false,

        "calculate-tee-times": true,

        "id": 18,

        "match-client-id": false,

        "next-server": "1.1.1.1",

        "option-data": [

          {

            "always-send": false,

            "code": 3,

            "csv-format": true,

            "data": "10.0.50.1",

            "name": "routers",

            "space": "dhcp4"

          },

          {

            "always-send": false,

            "code": 6,

            "csv-format": true,

            "data": "10.200.0.1",

            "name": "domain-name-servers",

            "space": "dhcp4"

          },

          {

            "always-send": false,

            "code": 15,

            "csv-format": true,

            "data": "bncvbn.nnn",

            "name": "domain-name",

            "space": "dhcp4"

          }

        ],

        "pools": [

          {

            "option-data": [ ],

            "pool": "10.0.50.10-10.0.50.80"

          }

        ],

        "relay": {

          "ip-addresses": [ "10.0.50.1" ]

        },

        "reservation-mode": "all",

        "reservations": [],

        "subnet": "10.0.50.0/24",

        "t1-percent": 0.5,

        "t2-percent": 0.875,

        "valid-lifetime": 86400

      }

    ],

    "t1-percent": 0.5,

    "t2-percent": 0.875,

    "valid-lifetime": 4000

  }

}


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.isc.org/pipermail/kea-users/attachments/20201019/47de1408/attachment-0001.htm>


More information about the Kea-users mailing list