[Kea-users] DHCPv6 Relay - link local and subnet - "Sorry, no subnet available"

Marcin Romanowski marcin at nicram.net
Tue Jun 9 16:03:50 UTC 2020


Hello
I'm trying to run kea-dhcp6 only for relay agents. As relay agent will be
cisco asr.

Cisco config:
! interface to kea dhcp
interface GigabitEthernet1
 no ip address
 negotiation auto
 ipv6 address FE80::1 link-local
 ipv6 enable
 no mop enabled
 no mop sysid
end

! interface to client side
interface GigabitEthernet8
 no ip address
 negotiation auto
 ipv6 address FE80:A1:E8::1 link-local
 ipv6 enable
 ipv6 dhcp relay destination FE80::11 GigabitEthernet1 link-address
FE80:A1:E8::1
 ipv6 dhcp relay option vpn
 no mop enabled
 no mop sysid
end

Kea configuration:
{
"Dhcp6": {
    // Add names of your network interfaces to listen on.
    "interfaces-config": {
        "interfaces": ["ens4"]
    },
    "control-socket": {
        "socket-type": "unix",
        "socket-name": "/tmp/kea-dhcp6-ctrl.sock"
    },
    "lease-database": {
        "type": "memfile",
        "lfc-interval": 3600
    },
    "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
    },
    "renew-timer": 1000,
    "rebind-timer": 2000,
    "preferred-lifetime": 3000,
    "valid-lifetime": 4000,
    "option-data": [
        {
            "name": "dns-servers",
            "data": "2001:db8:2::45, 2001:db8:2::100"
        },
        {
            "name": "new-posix-timezone",
            "data": "EST5EDT4\\,M3.2.0/02:00\\,M11.1.0/02:00"
        }
    ],
    "shared-networks": [
        {
        "name" : "MySharedNetwork",
        "relay": {
                    "ip-addresses": ["FE80::1", "FE80::2"]
                },
        "subnet6": [
            {
                "subnet": "FE80:A1:E8::/64",
                "pools": [ ],
                "pd-pools": [
                    {
                        "prefix": "2001:db8:1200::",
                        "prefix-len": 48,
                        "delegated-len": 56
                    }
                ],
                "reservations":[
                    {
                        "hw-address":"0c:44:e7:8c:c7:00",
                        "prefixes": ["2001:db8:1200:900::/56"]
                    },
                    {
                        "duid":"00:03:00:01:0c:44:e7:56:ac:00",
                        "prefixes":["2001:db8:1200:700::/56"]
                    }
                ]
            }
        ]
        }
    ],

    "loggers": [
    {
        "name": "kea-dhcp6",
        "output_options": [
            {
                "output": "/opt/kea/var/log/kea-dhcp6.log"
            }
        ],
        "severity": "DEBUG",
        "debuglevel": 99
    }
  ]
}
}

Problem is with subnet. I try to recongnize from which iterface request has
come by specified link-local address FE80:A1:E8::1, this address is used in
kea as link-address. When I set subnet as FE80:A1:E8::/64 in log I see that
is not there is no subnet available :( but address FE80:A1:E8::1 is
included in network FE80:A1:E8::/64

2020-06-09 15:47:09.996 DEBUG [kea-dhcp6.dhcpsrv/3422]
DHCPSRV_TIMERMGR_RUN_TIMER_OPERATION running operation for timer:
reclaim-expired-leases
2020-06-09 15:47:09.996 DEBUG [kea-dhcp6.alloc-engine/3422]
ALLOC_ENGINE_V6_LEASES_RECLAMATION_START starting reclamation of expired
leases (limit = 100 leases or 250 milliseconds)
2020-06-09 15:47:09.996 DEBUG [kea-dhcp6.dhcpsrv/3422]
DHCPSRV_MEMFILE_GET_EXPIRED6 obtaining maximum 101 of expired IPv6 leases
2020-06-09 15:47:09.996 DEBUG [kea-dhcp6.alloc-engine/3422]
ALLOC_ENGINE_V6_LEASES_RECLAMATION_COMPLETE reclaimed 0 leases in 0.027 ms
2020-06-09 15:47:09.996 DEBUG [kea-dhcp6.alloc-engine/3422]
ALLOC_ENGINE_V6_NO_MORE_EXPIRED_LEASES all expired leases have been
reclaimed
2020-06-09 15:47:09.996 DEBUG [kea-dhcp6.dhcpsrv/3422]
DHCPSRV_TIMERMGR_START_TIMER starting timer: reclaim-expired-leases
2020-06-09 15:47:15.725 DEBUG [kea-dhcp6.packets/3422]
DHCP6_BUFFER_RECEIVED received buffer from fe80::1:547 to fe80::11:0 over
interface ens4
2020-06-09 15:47:15.725 DEBUG [kea-dhcp6.options/3422] DHCP6_BUFFER_UNPACK
parsing buffer received from fe80::1 to fe80::11 over interface ens4
2020-06-09 15:47:15.725 DEBUG [kea-dhcp6.packets/3422]
DHCP6_PACKET_RECEIVED duid=[00:03:00:01:0c:44:e7:56:ac:00], tid=0x2fb59f:
SOLICIT (type 1) received from fe80::1 to fe80::11 on interface ens4
2020-06-09 15:47:15.726 DEBUG [kea-dhcp6.packets/3422] DHCP6_QUERY_DATA
duid=[00:03:00:01:0c:44:e7:56:ac:00], tid=0x2fb59f, packet details:
localAddr=[fe80::11]:0 remoteAddr=[fe80::1]:547
msgtype=1(SOLICIT), transid=0x2fb59f
type=00001, len=00010: 00:03:00:01:0c:44:e7:56:ac:00
type=00006, len=00002: 23(uint16)
type=00008, len=00002: 0 (uint16)
type=00014, len=00000:
type=00025(IA_PD), len=00012: iaid=1, t1=1800, t2=2880
1 relay(s):
relay[0]: msg-type=12(RELAY_FORWARD), hop-count=0,
link-address=fe80:a1:e8::1, peer-address=fe80::e44:e7ff:fe56:ac00, 3
option(s)
type=00018, len=00005: 01:03:47:69:38
type=00037, len=00022: 9 (uint32) 020000000000000A00030001001EE59F0F00
(binary)
type=00079, len=00008: 00:01:0c:44:e7:56:ac:00

2020-06-09 15:47:15.726 DEBUG [kea-dhcp6.packets/3422]
DHCP6_SUBNET_SELECTION_FAILED duid=[00:03:00:01:0c:44:e7:56:ac:00],
tid=0x2fb59f: failed to select subnet for the client
2020-06-09 15:47:15.726 DEBUG [kea-dhcp6.dhcp6/3422] DHCP6_CLASS_ASSIGNED
duid=[00:03:00:01:0c:44:e7:56:ac:00], tid=0x2fb59f: client packet has been
assigned to the following class(es): UNKNOWN
2020-06-09 15:47:15.726 DEBUG [kea-dhcp6.leases/3422]
DHCP6_PROCESS_IA_PD_REQUEST duid=[00:03:00:01:0c:44:e7:56:ac:00],
tid=0x2fb59f: server is processing IA_PD option with iaid=1 and hint=(no
hint)
2020-06-09 15:47:15.726 DEBUG [kea-dhcp6.options/3422]
DHCP6_ADD_STATUS_CODE_FOR_IA duid=[00:03:00:01:0c:44:e7:56:ac:00],
tid=0x2fb59f: adding Status Code to IA with iaid=1: NoPrefixAvail(6)
"Sorry, no subnet available."
2020-06-09 15:47:15.726 DEBUG [kea-dhcp6.dhcp6/3422] DHCP6_CLASS_ASSIGNED
duid=[00:03:00:01:0c:44:e7:56:ac:00], tid=0x2fb59f: client packet has been
assigned to the following class(es): ALL, UNKNOWN
2020-06-09 15:47:15.726 DEBUG [kea-dhcp6.packets/3422] DHCP6_PACKET_SEND
duid=[00:03:00:01:0c:44:e7:56:ac:00], tid=0x2fb59f: trying to send packet
ADVERTISE (type 2) from [fe80::11]:547 to [fe80::1]:547 on interface ens4
2020-06-09 15:47:15.726 DEBUG [kea-dhcp6.packets/3422] DHCP6_RESPONSE_DATA
responding with packet type 2 data is localAddr=[fe80::11]:547
remoteAddr=[fe80::1]:547
msgtype=2(ADVERTISE), transid=0x2fb59f
type=00001, len=00010: 00:03:00:01:0c:44:e7:56:ac:00
type=00002, len=00014: 00:01:00:01:26:72:47:16:0c:44:e7:40:1e:00
type=00023, len=00032: 2001:db8:2::45 2001:db8:2::100
type=00025(IA_PD), len=00045: iaid=1, t1=0, t2=0,
options:
  type=00013, len=00029: NoPrefixAvail(6) "Sorry, no subnet available."
1 relay(s):
relay[0]: msg-type=13(RELAY_REPLY), hop-count=0,
link-address=fe80:a1:e8::1, peer-address=fe80::e44:e7ff:fe56:ac00, 1
option(s)
type=00018, len=00005: 01:03:47:69:38

2020-06-09 15:47:16.730 DEBUG [kea-dhcp6.packets/3422]
DHCP6_BUFFER_RECEIVED received buffer from fe80::1:547 to fe80::11:0 over
interface ens4
2020-06-09 15:47:16.730 DEBUG [kea-dhcp6.options/3422] DHCP6_BUFFER_UNPACK
parsing buffer received from fe80::1 to fe80::11 over interface ens4
2020-06-09 15:47:16.730 DEBUG [kea-dhcp6.packets/3422]
DHCP6_PACKET_RECEIVED duid=[00:03:00:01:0c:44:e7:56:ac:00], tid=0x2fb59f:
SOLICIT (type 1) received from fe80::1 to fe80::11 on interface ens4
2020-06-09 15:47:16.730 DEBUG [kea-dhcp6.packets/3422] DHCP6_QUERY_DATA
duid=[00:03:00:01:0c:44:e7:56:ac:00], tid=0x2fb59f, packet details:
localAddr=[fe80::11]:0 remoteAddr=[fe80::1]:547
msgtype=1(SOLICIT), transid=0x2fb59f
type=00001, len=00010: 00:03:00:01:0c:44:e7:56:ac:00
type=00006, len=00002: 23(uint16)
type=00008, len=00002: 100 (uint16)
type=00014, len=00000:
type=00025(IA_PD), len=00012: iaid=1, t1=1800, t2=2880
1 relay(s):
relay[0]: msg-type=12(RELAY_FORWARD), hop-count=0,
link-address=fe80:a1:e8::1, peer-address=fe80::e44:e7ff:fe56:ac00, 3
option(s)
type=00018, len=00005: 01:03:47:69:38
type=00037, len=00022: 9 (uint32) 020000000000000A00030001001EE59F0F00
(binary)
type=00079, len=00008: 00:01:0c:44:e7:56:ac:00

2020-06-09 15:47:16.730 DEBUG [kea-dhcp6.packets/3422]
DHCP6_SUBNET_SELECTION_FAILED duid=[00:03:00:01:0c:44:e7:56:ac:00],
tid=0x2fb59f: failed to select subnet for the client
2020-06-09 15:47:16.730 DEBUG [kea-dhcp6.dhcp6/3422] DHCP6_CLASS_ASSIGNED
duid=[00:03:00:01:0c:44:e7:56:ac:00], tid=0x2fb59f: client packet has been
assigned to the following class(es): UNKNOWN
2020-06-09 15:47:16.730 DEBUG [kea-dhcp6.leases/3422]
DHCP6_PROCESS_IA_PD_REQUEST duid=[00:03:00:01:0c:44:e7:56:ac:00],
tid=0x2fb59f: server is processing IA_PD option with iaid=1 and hint=(no
hint)
2020-06-09 15:47:16.730 DEBUG [kea-dhcp6.options/3422]
DHCP6_ADD_STATUS_CODE_FOR_IA duid=[00:03:00:01:0c:44:e7:56:ac:00],
tid=0x2fb59f: adding Status Code to IA with iaid=1: NoPrefixAvail(6)
"Sorry, no subnet available."
2020-06-09 15:47:16.730 DEBUG [kea-dhcp6.dhcp6/3422] DHCP6_CLASS_ASSIGNED
duid=[00:03:00:01:0c:44:e7:56:ac:00], tid=0x2fb59f: client packet has been
assigned to the following class(es): ALL, UNKNOWN
2020-06-09 15:47:16.730 DEBUG [kea-dhcp6.packets/3422] DHCP6_PACKET_SEND
duid=[00:03:00:01:0c:44:e7:56:ac:00], tid=0x2fb59f: trying to send packet
ADVERTISE (type 2) from [fe80::11]:547 to [fe80::1]:547 on interface ens4

I tried to use "interface-id" but cisco does't sent that data so I have to
recognize networks.


How to configure kea-dhcp6 properly to work with link-local address and
subnets ?


Best regards
Marcin
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.isc.org/pipermail/kea-users/attachments/20200609/5517c916/attachment.htm>


More information about the Kea-users mailing list