[Kea-users] KEA IPv6 Configuration Help?

Garett garett at kea.nebo.zy.ca
Tue Apr 28 23:58:23 UTC 2015


That definitely makes sense; I had assumed that if I didn't limit it to an interface, it would be valid for all (and since I only had one, that that one would be the one).

As it is, defining the interface doesn't appear to fixed the problem.  I am still seeing dhcp6 solicits and no response from kea.

-- 
Garett


----- Original Message -----
From: "Marcin Siodelski" <marcin at isc.org>
To: "Garett" <garett at kea.nebo.zy.ca>
Cc: kea-users at lists.isc.org
Sent: Tuesday, April 28, 2015 5:41:15 PM
Subject: Re: [Kea-users] KEA IPv6 Configuration Help?

Actually, the error "no IPv6 subnets" shouldn't appear and it is a bug
in the server. I don't recall exactly if we have already fixed it or
there is a ticket sitting there to fix it.

Nevertheless, to provision a DHCPv6 client you'd need to add a parameter
to the subnet configuration to specify how the subnet should be
selected. See:
http://kea.isc.org/docs/kea-guide.html#dhcp6-config-subnets for details.

One option is to select your subnet based on the interface on which you
have received the packet: e.g.

"subnet6": [{
    "subnet": "2004:db8::/32",
    "pools": [ { "pool": "2004:db8:1::/64" } ],
    "interface": "enp0s8"
}]

Please let me know if that worked for you.

Marcin

On 28.04.2015 16:08, Garett wrote:
> Hi all.
>
> Let me start with saying I'm really familiar with IPv4, but I haven't
> used IPv6 at all.   I am thinking I'm missing something fundamental to
> do with IPv6 multicast as it relates to DHCPv6 and I'm hoping someone
> call tell me what I've done wrong.
>
> I have setup two virtual machines to talk to each other, one with KEA
> 0.9.1 on it, the other with the standard linux suite of DHCP tools.  I
> have no problem getting the DHCPv4 stuff to work.  I was able to
> configure it and get it working in a minute.  DHCPv6, however, I can't
> get that working the same way (giving the interface an IP and telling
> the server to use an IP in the range). I can manually assign an IPv6
> address to the client and I can ping between the machines so that and
> the fact that DHCPv4 works means the virtual machines are talking to
> each other properly so it has to be something I did in configuration
> (either of the network interface or KEA).
>
> The interface I'm using is enp0s8; it has the IP 2004:db8::1/32.   The
> IP address isn't that overly important I don't think; the machines are
> only talking to themselves and, via enp0s3 on the server, to the host
> machine.
>
> Here is the full configuration:
>
> [root at server ~]# ip addr ls dev enp0s8
> 3: enp0s8: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast
> state UP qlen 1000
>     link/ether 08:00:27:af:a5:d5 brd ff:ff:ff:ff:ff:ff
>     inet6 2004:db8::1/32 scope global
>        valid_lft forever preferred_lft forever
>     inet6 fe80::a00:27ff:feaf:a5d5/64 scope link
>        valid_lft forever preferred_lft forever
>
> I set-up kea like so:
>
> {"Dhcp6":{
>   "interfaces-config": {
>     "interfaces": [ "enp0s8" ]
>   },
>
>   "lease-database": {
>     "type": "memfile"
>   },
>
>   "preferred-lifetime": 3000,
>   "valid-lifetime": 4000,
>   "renew-timer": 1000,
>   "rebind-timer": 2000,
>
>   "subnet6": [{
>      "subnet": "2004:db8::/32",
>        "pools": [ { "pool": "2004:db8:1::/64" } ]
>   }]
> }}
>
> (I also have the logging stuff in there, but that isn't important)
>
> This results in this output:
> 2015-04-28 16:36:14.696 DEBUG [kea-dhcp6.dhcp6/3825]
> DHCP6_CONFIG_START DHCPv6 server is processing the following
> configuration: { "interfaces-config": { "interfaces": [ "enp0s8" ] },
> "lease-database": { "type": "memfile" }, "preferred-lifetime": 3000,
> "rebind-timer": 2000, "renew-timer": 1000, "subnet6": [ { "pools": [ {
> "pool": "2004:db8:1::/64" } ], "subnet": "2004:db8::/32" } ],
> "valid-lifetime": 4000 }
> 2015-04-28 16:36:14.696 DEBUG [kea-dhcp6.dhcp6/3825]
> DHCP6_PARSER_CREATED created parser for configuration element
> interfaces-config
> 2015-04-28 16:36:14.696 INFO  [kea-dhcp6.dhcpsrv/3825]
> DHCPSRV_CFGMGR_ADD_IFACE listening on interface enp0s8
> 2015-04-28 16:36:14.696 DEBUG [kea-dhcp6.dhcp6/3825]
> DHCP6_PARSER_CREATED created parser for configuration element
> lease-database
> 2015-04-28 16:36:14.696 DEBUG [kea-dhcp6.dhcp6/3825]
> DHCP6_PARSER_CREATED created parser for configuration element
> preferred-lifetime
> 2015-04-28 16:36:14.696 DEBUG [kea-dhcp6.dhcp6/3825]
> DHCP6_PARSER_CREATED created parser for configuration element rebind-timer
> 2015-04-28 16:36:14.696 DEBUG [kea-dhcp6.dhcp6/3825]
> DHCP6_PARSER_CREATED created parser for configuration element renew-timer
> 2015-04-28 16:36:14.696 DEBUG [kea-dhcp6.dhcp6/3825]
> DHCP6_PARSER_CREATED created parser for configuration element subnet6
> 2015-04-28 16:36:14.696 DEBUG [kea-dhcp6.dhcp6/3825]
> DHCP6_PARSER_CREATED created parser for configuration element
> valid-lifetime
> 2015-04-28 16:36:14.696 INFO  [kea-dhcp6.dhcp6/3825]
> DHCP6_CONFIG_NEW_SUBNET a new subnet has been added to configuration:
> 2004:db8::/32 with params t1=1000, t2=2000, pref=3000, valid=4000
> 2015-04-28 16:36:14.696 DEBUG [kea-dhcp6.dhcpsrv/3825]
> DHCPSRV_CFGMGR_ADD_SUBNET6 adding subnet 2004:db8::/32
> 2015-04-28 16:36:14.696 INFO  [kea-dhcp6.dhcpsrv/3825]
> DHCPSRV_MEMFILE_DB opening memory file lease database: type=memfile
> universe=6
> 2015-04-28 16:36:14.697 INFO  [kea-dhcp6.dhcpsrv/3825]
> DHCPSRV_MEMFILE_LEASE_FILE_LOAD loading leases from file
> /opt/kea/var/kea/kea-leases6.csv
> 2015-04-28 16:36:14.697 INFO  [kea-dhcp6.dhcp6/3825]
> DHCP6_CONFIG_COMPLETE DHCPv6 server has completed configuration: no
> IPv6 subnets!; DDNS: disabled
>
>
> So I am fairly certain my problem is the whole "no IPv6 subnets" but
> that doesn't make much sense because those appeared to load just fine
> a few lines earlier.  I also found a vague reference to some bug that
> will be fixed in 0.9.2 that make unnecessary "no IPv6 subnets"
> messages go away so maybe it isn't that.
>
> I know it is getting the DHCPv6 requests from the client.   I run
> "dhclient -6 -v enp0s3" on the virtual client and I can see the
> requests in the tcpdump on the server ...
>
> [root at server ~]# tcpdump -i enp0s8
> tcpdump: WARNING: enp0s8: no IPv4 address assigned
> tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
> listening on enp0s8, link-type EN10MB (Ethernet), capture size 65535 bytes
> 16:39:16.386989 IP6 :: > ff02::16: HBH ICMP6, multicast listener
> report v2, 1 group record(s), length 28
> 16:39:17.051220 IP6 :: > ff02::16: HBH ICMP6, multicast listener
> report v2, 1 group record(s), length 28
> 16:39:17.331375 IP6 :: > ff02::1:ffbe:e078: ICMP6, neighbor
> solicitation, who has fe80::a00:27ff:febe:e078, length 24
> 16:39:18.333869 IP6 fe80::a00:27ff:febe:e078 > ff02::16: HBH ICMP6,
> multicast listener report v2, 1 group record(s), length 28
> 16:39:18.335099 IP6 fe80::a00:27ff:febe:e078 > ff02::2: ICMP6, router
> solicitation, length 8
> 16:39:18.652743 IP6 fe80::a00:27ff:febe:e078 > ff02::16: HBH ICMP6,
> multicast listener report v2, 1 group record(s), length 28
> 16:39:22.308676 IP6 fe80::a00:27ff:febe:e078 > ff02::2: ICMP6, router
> solicitation, length 8
> 16:39:26.311704 IP6 fe80::a00:27ff:febe:e078 > ff02::2: ICMP6, router
> solicitation, length 8
>
> So it's sending the requests to the IPv6 multicast ... but the kea
> server isn't hearing them (or maybe isn't listening for them).   I'm
> sure I've forgotten a step somewhere and I'm sure it's something very
> stupid that I suspect someone with more familiar with IPv6 might be
> able to find in seconds ... but I'm not that person.  Could anyone
> point me in the right direction to get these machines talking?
>
> Thanks,
> Garett
> _______________________________________________
> Kea-users mailing list
> Kea-users at lists.isc.org
> https://lists.isc.org/mailman/listinfo/kea-users
>




More information about the Kea-users mailing list