KEA DHCP6 doesn't start/get a prefix at boot
-
Hello
For the context I have a SG-1100 (version 23.09.01 PLUS) and a SG-3100 (same version). Both have the recent KEA DHCP backend for IPv4 and IPv6. My dhcp6 config is a bit special because it contains a lot of raw-options and advanced options because I need to authenticate to my ISP.
I have no idea if the issue occurs on the kea-dhcp6 package or the client dhcp6c. When I boot my netgate appliances, there is no IPv6 address for the WAN interface and my clients can't get a global IPv6 since the RADVD is down.
When this issue occurs I need to manually go the interfaces > WAN settings, press Save (even if I didn't change any settings) and reload the interface. Then boom I get an IPv6 ! All my settings are working fine but its just not working at boot only.
Here the DHCP logs right after the boot :
Apr 9 07:05:48 kea-dhcp6 88995 INFO [kea-dhcp6.dhcp6.0x13b9da412000] DHCP6_DYNAMIC_RECONFIGURATION_SUCCESS dynamic server reconfiguration succeeded with file: /usr/local/etc/kea/kea-dhcp6.conf Apr 9 07:05:48 kea-dhcp6 88995 WARN [kea-dhcp6.dhcp6.0x13b9da412000] DHCP6_MULTI_THREADING_INFO enabled: yes, number of threads: 2, queue size: 64 Apr 9 07:05:48 kea-dhcp6 88995 WARN [kea-dhcp6.dhcpsrv.0x13b9da412000] DHCPSRV_NO_SOCKETS_OPEN no interface configured to listen to DHCP traffic Apr 9 07:05:48 kea-dhcp6 88995 INFO [kea-dhcp6.dhcp6.0x13b9da412000] DHCP6_USING_SERVERID server is using server-id !!!CENSORED!!! and stores in the file /var/db/kea/kea-dhcp6-serverid Apr 9 07:05:48 kea-dhcp6 88995 INFO [kea-dhcp6.dhcpsrv.0x13b9da412000] DHCPSRV_MEMFILE_LFC_SETUP setting up the Lease File Cleanup interval to 3600 sec Apr 9 07:05:48 kea-dhcp6 88995 INFO [kea-dhcp6.dhcpsrv.0x13b9da412000] DHCPSRV_MEMFILE_BUILD_EXTENDED_INFO_TABLES6 building extended info tables saw 0 leases, extended info sanity checks modified 0 / updated 0 leases and 0 leases were entered into tables Apr 9 07:05:48 kea-dhcp6 88995 INFO [kea-dhcp6.dhcpsrv.0x13b9da412000] DHCPSRV_MEMFILE_LEASE_FILE_LOAD loading leases from file /var/lib/kea/dhcp6.leases Apr 9 07:05:48 kea-dhcp6 88995 INFO [kea-dhcp6.dhcpsrv.0x13b9da412000] DHCPSRV_MEMFILE_LEASE_FILE_LOAD loading leases from file /var/lib/kea/dhcp6.leases.2 Apr 9 07:05:48 kea-dhcp6 88995 INFO [kea-dhcp6.dhcpsrv.0x13b9da412000] DHCPSRV_MEMFILE_DB opening memory file lease database: name=/var/lib/kea/dhcp6.leases persist=true type=memfile universe=6 Apr 9 07:05:48 kea-dhcp6 88995 INFO [kea-dhcp6.dhcp6.0x13b9da412000] DHCP6_CONFIG_COMPLETE DHCPv6 server has completed configuration: no IPv6 subnets!; DDNS: disabled Apr 9 07:05:48 kea-dhcp6 88995 INFO [kea-dhcp6.hooks.0x13b9da412000] HOOKS_LIBRARY_LOADED hooks library /usr/local/lib/kea/hooks/libdhcp_lease_cmds.so successfully loaded Apr 9 07:05:48 kea-dhcp6 88995 INFO [kea-dhcp6.lease-cmds-hooks.0x13b9da412000] LEASE_CMDS_INIT_OK loading Lease Commands hooks library successful Apr 9 07:05:48 kea-dhcp6 88995 INFO [kea-dhcp6.hooks.0x13b9da412000] HOOKS_LIBRARY_CLOSED hooks library /usr/local/lib/kea/hooks/libdhcp_lease_cmds.so successfully closed Apr 9 07:05:48 kea-dhcp6 88995 INFO [kea-dhcp6.lease-cmds-hooks.0x13b9da412000] LEASE_CMDS_DEINIT_OK unloading Lease Commands hooks library successful Apr 9 07:05:48 kea-dhcp6 88995 INFO [kea-dhcp6.dhcpsrv.0x13b9da412000] DHCPSRV_CFGMGR_SOCKET_TYPE_SELECT using socket type raw Apr 9 07:05:48 kea-dhcp6 88995 INFO [kea-dhcp6.hooks.0x13b9da412000] HOOKS_LIBRARY_CLOSED hooks library /usr/local/lib/kea/hooks/libdhcp_lease_cmds.so successfully closed Apr 9 07:05:48 kea-dhcp6 88995 WARN [kea-dhcp6.dhcp6.0x13b9da412000] DHCP6_RESERVATIONS_LOOKUP_FIRST_ENABLED Multi-threading is enabled and host reservations lookup is always performed first. Apr 9 07:05:48 kea-dhcp6 88995 WARN [kea-dhcp6.dhcpsrv.0x13b9da412000] DHCPSRV_MT_DISABLED_QUEUE_CONTROL disabling dhcp queue control when multi-threading is enabled. Apr 9 07:05:48 kea-dhcp6 88995 INFO [kea-dhcp6.hosts.0x13b9da412000] HOSTS_BACKENDS_REGISTERED the following host backend types are available: Apr 9 07:05:48 kea-dhcp6 88995 INFO [kea-dhcp6.dhcp6.0x13b9da412000] DHCP6_DYNAMIC_RECONFIGURATION initiate server reconfiguration using file: /usr/local/etc/kea/kea-dhcp6.conf, after receiving SIGHUP signal or config-reload command Apr 9 07:05:24 kea-dhcp6 88995 INFO [kea-dhcp6.dhcp6.0x13b9da412000] DHCP6_STARTED Kea DHCPv6 server version 2.4.0 started Apr 9 07:05:24 kea-dhcp6 88995 WARN [kea-dhcp6.dhcp6.0x13b9da412000] DHCP6_MULTI_THREADING_INFO enabled: yes, number of threads: 2, queue size: 64 Apr 9 07:05:24 kea-dhcp6 88995 WARN [kea-dhcp6.dhcpsrv.0x13b9da412000] DHCPSRV_NO_SOCKETS_OPEN no interface configured to listen to DHCP traffic Apr 9 07:05:24 kea-dhcp6 88995 INFO [kea-dhcp6.dhcp6.0x13b9da412000] DHCP6_USING_SERVERID server is using server-id !!!CENSORED!!! and stores in the file /var/db/kea/kea-dhcp6-serverid Apr 9 07:05:24 kea-dhcp6 88995 INFO [kea-dhcp6.dhcpsrv.0x13b9da412000] DHCPSRV_MEMFILE_LFC_SETUP setting up the Lease File Cleanup interval to 3600 sec Apr 9 07:05:24 kea-dhcp6 88995 INFO [kea-dhcp6.dhcpsrv.0x13b9da412000] DHCPSRV_MEMFILE_BUILD_EXTENDED_INFO_TABLES6 building extended info tables saw 0 leases, extended info sanity checks modified 0 / updated 0 leases and 0 leases were entered into tables Apr 9 07:05:24 kea-dhcp6 88995 INFO [kea-dhcp6.dhcpsrv.0x13b9da412000] DHCPSRV_MEMFILE_LEASE_FILE_LOAD loading leases from file /var/lib/kea/dhcp6.leases Apr 9 07:05:24 kea-dhcp6 88995 INFO [kea-dhcp6.dhcpsrv.0x13b9da412000] DHCPSRV_MEMFILE_LEASE_FILE_LOAD loading leases from file /var/lib/kea/dhcp6.leases.2 Apr 9 07:05:24 kea-dhcp6 88995 INFO [kea-dhcp6.dhcpsrv.0x13b9da412000] DHCPSRV_MEMFILE_DB opening memory file lease database: name=/var/lib/kea/dhcp6.leases persist=true type=memfile universe=6 Apr 9 07:05:24 kea-dhcp6 88995 INFO [kea-dhcp6.dhcp6.0x13b9da412000] DHCP6_CONFIG_COMPLETE DHCPv6 server has completed configuration: no IPv6 subnets!; DDNS: disabled Apr 9 07:05:24 kea-dhcp6 88995 INFO [kea-dhcp6.hooks.0x13b9da412000] HOOKS_LIBRARY_LOADED hooks library /usr/local/lib/kea/hooks/libdhcp_lease_cmds.so successfully loaded Apr 9 07:05:24 kea-dhcp6 88995 INFO [kea-dhcp6.lease-cmds-hooks.0x13b9da412000] LEASE_CMDS_INIT_OK loading Lease Commands hooks library successful Apr 9 07:05:24 kea-dhcp6 88995 INFO [kea-dhcp6.commands.0x13b9da412000] COMMAND_ACCEPTOR_START Starting to accept connections via unix domain socket bound to /tmp/kea6-ctrl-socket Apr 9 07:05:24 kea-dhcp6 88995 INFO [kea-dhcp6.dhcpsrv.0x13b9da412000] DHCPSRV_CFGMGR_SOCKET_TYPE_SELECT using socket type raw Apr 9 07:05:24 kea-dhcp6 88995 INFO [kea-dhcp6.hooks.0x13b9da412000] HOOKS_LIBRARY_CLOSED hooks library /usr/local/lib/kea/hooks/libdhcp_lease_cmds.so successfully closed Apr 9 07:05:24 kea-dhcp6 88995 WARN [kea-dhcp6.dhcp6.0x13b9da412000] DHCP6_RESERVATIONS_LOOKUP_FIRST_ENABLED Multi-threading is enabled and host reservations lookup is always performed first. Apr 9 07:05:24 kea-dhcp6 88995 WARN [kea-dhcp6.dhcpsrv.0x13b9da412000] DHCPSRV_MT_DISABLED_QUEUE_CONTROL disabling dhcp queue control when multi-threading is enabled. Apr 9 07:05:24 kea-dhcp6 88995 INFO [kea-dhcp6.hosts.0x13b9da412000] HOSTS_BACKENDS_REGISTERED the following host backend types are available:
And after I reload the interfaces :
Apr 9 12:52:11 kea-dhcp6 51932 INFO [kea-dhcp6.dhcpsrv.0x10bf20212000] DHCPSRV_MEMFILE_LFC_EXECUTE executing Lease File Cleanup using: /usr/local/sbin/kea-lfc -6 -x /var/lib/kea/dhcp6.leases.2 -i /var/lib/kea/dhcp6.leases.1 -o /var/lib/kea/dhcp6.leases.output -f /var/lib/kea/dhcp6.leases.completed -p /var/lib/kea/dhcp6.leases.pid -c ignored-path Apr 9 12:52:11 kea-dhcp6 51932 INFO [kea-dhcp6.dhcpsrv.0x10bf20212000] DHCPSRV_MEMFILE_LFC_START starting Lease File Cleanup Apr 9 11:52:14 dhcp6c 69501 got an expected reply, sleeping. Apr 9 11:52:14 dhcp6c 69501 removing server (ID: !!!CENSORED!!!) Apr 9 11:52:14 dhcp6c 69501 removing an event on mvneta0.832, state=REQUEST Apr 9 11:52:14 dhcp6c 69501 script "/var/etc/dhcp6c_wan_dhcp6withoutra_script.sh" terminated Apr 9 11:52:14 dhcp6c 96696 dhcp6c REQUEST on mvneta0.832 - running rtsold Apr 9 11:52:14 dhcp6c 69501 executes /var/etc/dhcp6c_wan_dhcp6withoutra_script.sh Apr 9 11:52:14 dhcp6c 69501 add an address !!!CENSORED!!!/64 on mvneta0.4091 Apr 9 11:52:14 dhcp6c 69501 create a prefix !!!CENSORED!!!/56 pltime=604800, vltime=604800 Apr 9 11:52:14 dhcp6c 69501 make an IA: PD-0 Apr 9 11:52:14 dhcp6c 69501 Domain search list[0] !!!CENSORED!!!.net. Apr 9 11:52:14 dhcp6c 69501 Received REPLY for REQUEST Apr 9 11:52:14 dhcp6c 69501 get DHCP option domain search list, len 34 Apr 9 11:52:14 dhcp6c 69501 unknown or unexpected DHCP6 option vendor specific info, len 18 Apr 9 11:52:14 dhcp6c 69501 get DHCP option vendor specific info, len 18 Apr 9 11:52:14 dhcp6c 69501 Discarding null authentication Apr 9 11:52:14 dhcp6c 69501 proto: unknown(0), alg: unknown(0), RDM: mono counter, RD: 0000 0000 0000 0000 Apr 9 11:52:14 dhcp6c 69501 get DHCP option authentication, len 27 Apr 9 11:52:14 dhcp6c 69501 IA_PD prefix: !!!CENSORED!!!/56 pltime=604800 vltime=604800 Apr 9 11:52:14 dhcp6c 69501 get DHCP option IA_PD prefix, len 25 Apr 9 11:52:14 dhcp6c 69501 IA_PD: ID=0, T1=84672, T2=483840 Apr 9 11:52:14 dhcp6c 69501 get DHCP option IA_PD, len 41 Apr 9 11:52:14 dhcp6c 69501 DUID: !!!CENSORED!!! Apr 9 11:52:14 dhcp6c 69501 get DHCP option client ID, len 14 Apr 9 11:52:14 dhcp6c 69501 DUID: !!!CENSORED!!! Apr 9 11:52:14 dhcp6c 69501 get DHCP option server ID, len 10 Apr 9 11:52:14 dhcp6c 69501 receive reply from fe80::ba0:bab%mvneta0.832 on mvneta0.832 Apr 9 11:52:14 dhcp6c 69501 reset a timer on mvneta0.832, state=REQUEST, timeo=0, retrans=909 Apr 9 11:52:14 dhcp6c 69501 freeing op data at 0x7425d72130a0 Apr 9 11:52:14 dhcp6c 69501 freeing op data at 0x7425d724c330 Apr 9 11:52:14 dhcp6c 69501 freeing op data at 0x7425d721e320 Apr 9 11:52:14 dhcp6c 69501 freeing op data at 0x7425d7208018 Apr 9 11:52:14 dhcp6c 69501 send request to ff02::1:2%mvneta0.832 Apr 9 11:52:14 dhcp6c 69501 set vendor class (len 11) Apr 9 11:52:14 dhcp6c 69501 raw option 16 length 11 at 0x7425d724c270 Apr 9 11:52:14 dhcp6c 69501 set user class (len 45) Apr 9 11:52:14 dhcp6c 69501 raw option 15 length 45 at 0x7425d724c300 Apr 9 11:52:14 dhcp6c 69501 set authentication (len 70) Apr 9 11:52:14 dhcp6c 69501 raw option 11 length 70 at 0x7425d724c240 Apr 9 11:52:14 dhcp6c 69501 set option request (len 8) Apr 9 11:52:14 dhcp6c 69501 raw option 6 length 8 at 0x7425d724c2d0 Apr 9 11:52:14 dhcp6c 69501 set IA_PD Apr 9 11:52:14 dhcp6c 69501 set IA_PD prefix Apr 9 11:52:14 dhcp6c 69501 set elapsed time (len 2) Apr 9 11:52:14 dhcp6c 69501 set server ID (len 10) Apr 9 11:52:14 dhcp6c 69501 set client ID (len 14) Apr 9 11:52:14 dhcp6c 69501 a new XID (fa5194) is generated Apr 9 11:52:14 dhcp6c 69501 Sending Request Apr 9 11:52:14 dhcp6c 69501 picked a server (ID: !!!CENSORED!!!) Apr 9 11:52:13 dhcp6c 69501 reset timer for mvneta0.832 to 0.984362 Apr 9 11:52:13 dhcp6c 69501 server ID: !!!CENSORED!!!, pref=-1 Apr 9 11:52:13 dhcp6c 69501 get DHCP option domain search list, len 34 Apr 9 11:52:13 dhcp6c 69501 unknown or unexpected DHCP6 option vendor specific info, len 18 Apr 9 11:52:13 dhcp6c 69501 get DHCP option vendor specific info, len 18 Apr 9 11:52:13 dhcp6c 69501 Discarding null authentication Apr 9 11:52:13 dhcp6c 69501 proto: unknown(0), alg: unknown(0), RDM: mono counter, RD: 0000 0000 0000 0000 Apr 9 11:52:13 dhcp6c 69501 get DHCP option authentication, len 27 Apr 9 11:52:13 dhcp6c 69501 IA_PD prefix: !!!CENSORED!!!/56 pltime=604800 vltime=604800 Apr 9 11:52:13 dhcp6c 69501 get DHCP option IA_PD prefix, len 25 Apr 9 11:52:13 dhcp6c 69501 IA_PD: ID=0, T1=84672, T2=483840 Apr 9 11:52:13 dhcp6c 69501 get DHCP option IA_PD, len 41 Apr 9 11:52:13 dhcp6c 69501 DUID: !!!CENSORED!!! Apr 9 11:52:13 dhcp6c 69501 get DHCP option client ID, len 14 Apr 9 11:52:13 dhcp6c 69501 DUID: !!!CENSORED!!! Apr 9 11:52:13 dhcp6c 69501 get DHCP option server ID, len 10 Apr 9 11:52:13 dhcp6c 69501 receive advertise from fe80::ba0:bab%mvneta0.832 on mvneta0.832 Apr 9 11:52:13 dhcp6c 69501 reset a timer on mvneta0.832, state=SOLICIT, timeo=0, retrans=1091 Apr 9 11:52:13 dhcp6c 69501 freeing op data at 0x7425d7213030 Apr 9 11:52:13 dhcp6c 69501 freeing op data at 0x7425d724c2a0 Apr 9 11:52:13 dhcp6c 69501 freeing op data at 0x7425d721e190 Apr 9 11:52:13 dhcp6c 69501 freeing op data at 0x7425d7208018 Apr 9 11:52:13 dhcp6c 69501 send solicit to ff02::1:2%mvneta0.832 Apr 9 11:52:13 dhcp6c 69501 set vendor class (len 11) Apr 9 11:52:13 dhcp6c 69501 raw option 16 length 11 at 0x7425d724c240 Apr 9 11:52:13 dhcp6c 69501 set user class (len 45) Apr 9 11:52:13 dhcp6c 69501 raw option 15 length 45 at 0x7425d724c2d0 Apr 9 11:52:13 dhcp6c 69501 set authentication (len 70) Apr 9 11:52:13 dhcp6c 69501 raw option 11 length 70 at 0x7425d724c300 Apr 9 11:52:13 dhcp6c 69501 set option request (len 8) Apr 9 11:52:13 dhcp6c 69501 raw option 6 length 8 at 0x7425d724c330 Apr 9 11:52:13 dhcp6c 69501 set IA_PD Apr 9 11:52:13 dhcp6c 69501 set elapsed time (len 2) Apr 9 11:52:13 dhcp6c 69501 set client ID (len 14) Apr 9 11:52:13 dhcp6c 69501 a new XID (43485a) is generated Apr 9 11:52:13 dhcp6c 69501 Sending Solicit Apr 9 11:52:12 dhcp6c 69501 reset a timer on mvneta0.832, state=INIT, timeo=0, retrans=891 Apr 9 11:52:12 dhcp6c 69329 /var/etc/dhcp6c.conf 15: Releasing raw option num 16 datalen 11 Apr 9 11:52:12 dhcp6c 69329 /var/etc/dhcp6c.conf 15: Releasing raw option num 15 datalen 45 Apr 9 11:52:12 dhcp6c 69329 /var/etc/dhcp6c.conf 15: Releasing raw option num 11 datalen 70 Apr 9 11:52:12 dhcp6c 69329 /var/etc/dhcp6c.conf 15: Releasing raw option num 6 datalen 8 Apr 9 11:52:12 dhcp6c 69329 called Apr 9 11:52:12 dhcp6c 69329 freeing op data at 0x7425d7213070 Apr 9 11:52:12 dhcp6c 69329 freeing op data at 0x7425d724c450 Apr 9 11:52:12 dhcp6c 69329 freeing op data at 0x7425d721e0f0 Apr 9 11:52:12 dhcp6c 69329 freeing op data at 0x7425d7208020 Apr 9 11:52:12 dhcp6c 69329 add raw option: 16 length: 11 Apr 9 11:52:12 dhcp6c 69329 add raw option: 15 length: 45 Apr 9 11:52:12 dhcp6c 69329 add raw option: 11 length: 70 Apr 9 11:52:12 dhcp6c 69329 add raw option: 6 length: 8 Apr 9 11:52:12 dhcp6c 69329 called Apr 9 11:52:12 dhcp6c 69329 <3>end of sentence [;] (1) Apr 9 11:52:12 dhcp6c 69329 <3>end of closure [}] (1) Apr 9 11:52:12 dhcp6c 69329 <3>end of sentence [;] (1) Apr 9 11:52:12 dhcp6c 69329 <3>end of closure [}] (1) Apr 9 11:52:12 dhcp6c 69329 <3>end of sentence [;] (1) Apr 9 11:52:12 dhcp6c 69329 <3>[8] (1) Apr 9 11:52:12 dhcp6c 69329 <3>[sla-len] (7) Apr 9 11:52:12 dhcp6c 69329 <3>end of sentence [;] (1) Apr 9 11:52:12 dhcp6c 69329 <3>[0] (1) Apr 9 11:52:12 dhcp6c 69329 <3>[sla-id] (6) Apr 9 11:52:12 dhcp6c 69329 <3>begin of closure [{] (1) Apr 9 11:52:12 dhcp6c 69329 <5>[mvneta0.4091] (12) Apr 9 11:52:12 dhcp6c 69329 <3>[prefix-interface] (16) Apr 9 11:52:12 dhcp6c 69329 <13>begin of closure [{] (1) Apr 9 11:52:12 dhcp6c 69329 <13>[0] (1) Apr 9 11:52:12 dhcp6c 69329 <13>[pd] (2) Apr 9 11:52:12 dhcp6c 69329 <3>[id-assoc] (8) Apr 9 11:52:12 dhcp6c 69329 <3>end of sentence [;] (1) Apr 9 11:52:12 dhcp6c 69329 <3>end of closure [}] (1) Apr 9 11:52:12 dhcp6c 69329 <3>end of sentence [;] (1) Apr 9 11:52:12 dhcp6c 69329 <3>["/var/etc/dhcp6c_wan_dhcp6withoutra_script.sh"] (46) Apr 9 11:52:12 dhcp6c 69329 <3>[script] (6) Apr 9 11:52:12 dhcp6c 69329 <3>end of sentence [;] (1) Apr 9 11:52:12 dhcp6c 69329 /var/etc/dhcp6c.conf 6: Raw option 16 length 11 stored at 0x7425d724c270 with data at 0x7425d7213030 Apr 9 11:52:12 dhcp6c 69329 /var/etc/dhcp6c.conf 6: Got raw option: 16 !!!CENSORED!!! Apr 9 11:52:12 dhcp6c 69329 <25>[!!!CENSORED!!!] (32) Apr 9 11:52:12 dhcp6c 69329 <25>[16] (2) Apr 9 11:52:12 dhcp6c 69329 <3>[raw-option] (10) Apr 9 11:52:12 dhcp6c 69329 <3>[send] (4) Apr 9 11:52:12 dhcp6c 69329 <3>end of sentence [;] (1) Apr 9 11:52:12 dhcp6c 69329 /var/etc/dhcp6c.conf 5: Raw option 15 length 45 stored at 0x7425d724c180 with data at 0x7425d724c1b0 Apr 9 11:52:12 dhcp6c 69329 /var/etc/dhcp6c.conf 5: Got raw option: 15 !!!CENSORED!!! Apr 9 11:52:12 dhcp6c 69329 <25>[!!!CENSORED!!!] (134) Apr 9 11:52:12 dhcp6c 69329 <25>[15] (2) Apr 9 11:52:12 dhcp6c 69329 <3>[raw-option] (10) Apr 9 11:52:12 dhcp6c 69329 <3>[send] (4) Apr 9 11:52:12 dhcp6c 69329 <3>end of sentence [;] (1) Apr 9 11:52:12 dhcp6c 69329 /var/etc/dhcp6c.conf 4: Raw option 11 length 70 stored at 0x7425d724c0f0 with data at 0x7425d721e050 Apr 9 11:52:12 dhcp6c 69329 /var/etc/dhcp6c.conf 4: Got raw option: 11 !!!CENSORED!!! Apr 9 11:52:12 dhcp6c 69329 <25>[!!!CENSORED!!!] (209) Apr 9 11:52:12 dhcp6c 69329 <25>[11] (2) Apr 9 11:52:12 dhcp6c 69329 <3>[raw-option] (10) Apr 9 11:52:12 dhcp6c 69329 <3>[send] (4) Apr 9 11:52:12 dhcp6c 69329 <3>end of sentence [;] (1) Apr 9 11:52:12 dhcp6c 69329 /var/etc/dhcp6c.conf 3: Raw option 6 length 8 stored at 0x7425d724c060 with data at 0x7425d7208010 Apr 9 11:52:12 dhcp6c 69329 /var/etc/dhcp6c.conf 3: Got raw option: 6 !!!CENSORED!!! Apr 9 11:52:12 dhcp6c 69329 <25>[!!!CENSORED!!!] (23) Apr 9 11:52:12 dhcp6c 69329 <25>[6] (1) Apr 9 11:52:12 dhcp6c 69329 <3>[raw-option] (10) Apr 9 11:52:12 dhcp6c 69329 <3>[send] (4) Apr 9 11:52:12 dhcp6c 69329 <3>end of sentence [;] (1) Apr 9 11:52:12 dhcp6c 69329 <3>[0] (1) Apr 9 11:52:12 dhcp6c 69329 <3>[ia-pd] (5) Apr 9 11:52:12 dhcp6c 69329 <3>[send] (4) Apr 9 11:52:12 dhcp6c 69329 <3>begin of closure [{] (1) Apr 9 11:52:12 dhcp6c 69329 <5>[mvneta0.832] (11) Apr 9 11:52:12 dhcp6c 69329 <3>[interface] (9) Apr 9 11:52:12 dhcp6c 69329 extracted an existing DUID from /var/db/dhcp6c_duid: !!!CENSORED!!! Apr 9 11:52:11 kea-dhcp6 51932 INFO [kea-dhcp6.dhcp6.0x10bf20212000] DHCP6_STARTED Kea DHCPv6 server version 2.4.0 started Apr 9 11:52:11 kea-dhcp6 51932 WARN [kea-dhcp6.dhcp6.0x10bf20212000] DHCP6_MULTI_THREADING_INFO enabled: yes, number of threads: 2, queue size: 64 Apr 9 11:52:11 kea-dhcp6 51932 WARN [kea-dhcp6.dhcpsrv.0x10bf20212000] DHCPSRV_NO_SOCKETS_OPEN no interface configured to listen to DHCP traffic Apr 9 11:52:11 kea-dhcp6 51932 INFO [kea-dhcp6.dhcp6.0x10bf20212000] DHCP6_USING_SERVERID server is using server-id !!!CENSORED!!! and stores in the file /var/db/kea/kea-dhcp6-serverid Apr 9 11:52:11 kea-dhcp6 51932 INFO [kea-dhcp6.dhcpsrv.0x10bf20212000] DHCPSRV_MEMFILE_LFC_SETUP setting up the Lease File Cleanup interval to 3600 sec Apr 9 11:52:11 kea-dhcp6 51932 INFO [kea-dhcp6.dhcpsrv.0x10bf20212000] DHCPSRV_MEMFILE_BUILD_EXTENDED_INFO_TABLES6 building extended info tables saw 0 leases, extended info sanity checks modified 0 / updated 0 leases and 0 leases were entered into tables Apr 9 11:52:11 kea-dhcp6 51932 INFO [kea-dhcp6.dhcpsrv.0x10bf20212000] DHCPSRV_MEMFILE_LEASE_FILE_LOAD loading leases from file /var/lib/kea/dhcp6.leases Apr 9 11:52:11 kea-dhcp6 51932 INFO [kea-dhcp6.dhcpsrv.0x10bf20212000] DHCPSRV_MEMFILE_LEASE_FILE_LOAD loading leases from file /var/lib/kea/dhcp6.leases.2 Apr 9 11:52:11 kea-dhcp6 51932 INFO [kea-dhcp6.dhcpsrv.0x10bf20212000] DHCPSRV_MEMFILE_DB opening memory file lease database: name=/var/lib/kea/dhcp6.leases persist=true type=memfile universe=6 Apr 9 11:52:11 kea-dhcp6 51932 INFO [kea-dhcp6.dhcp6.0x10bf20212000] DHCP6_CONFIG_COMPLETE DHCPv6 server has completed configuration: no IPv6 subnets!; DDNS: disabled Apr 9 11:52:11 kea-dhcp6 51932 INFO [kea-dhcp6.hooks.0x10bf20212000] HOOKS_LIBRARY_LOADED hooks library /usr/local/lib/kea/hooks/libdhcp_lease_cmds.so successfully loaded Apr 9 11:52:11 kea-dhcp6 51932 INFO [kea-dhcp6.lease-cmds-hooks.0x10bf20212000] LEASE_CMDS_INIT_OK loading Lease Commands hooks library successful Apr 9 11:52:11 kea-dhcp6 51932 INFO [kea-dhcp6.commands.0x10bf20212000] COMMAND_ACCEPTOR_START Starting to accept connections via unix domain socket bound to /tmp/kea6-ctrl-socket Apr 9 11:52:11 kea-dhcp6 51932 INFO [kea-dhcp6.dhcpsrv.0x10bf20212000] DHCPSRV_CFGMGR_SOCKET_TYPE_SELECT using socket type raw Apr 9 11:52:11 kea-dhcp6 51932 INFO [kea-dhcp6.hooks.0x10bf20212000] HOOKS_LIBRARY_CLOSED hooks library /usr/local/lib/kea/hooks/libdhcp_lease_cmds.so successfully closed Apr 9 11:52:11 kea-dhcp6 51932 WARN [kea-dhcp6.dhcp6.0x10bf20212000] DHCP6_RESERVATIONS_LOOKUP_FIRST_ENABLED Multi-threading is enabled and host reservations lookup is always performed first. Apr 9 11:52:11 kea-dhcp6 51932 WARN [kea-dhcp6.dhcpsrv.0x10bf20212000] DHCPSRV_MT_DISABLED_QUEUE_CONTROL disabling dhcp queue control when multi-threading is enabled. Apr 9 11:52:11 kea-dhcp6 51932 INFO [kea-dhcp6.hosts.0x10bf20212000] HOSTS_BACKENDS_REGISTERED the following host backend types are available: Apr 9 11:52:11 kea-dhcp6 88995 INFO [kea-dhcp6.hooks.0x13b9da412000] HOOKS_LIBRARY_CLOSED hooks library /usr/local/lib/kea/hooks/libdhcp_lease_cmds.so successfully closed Apr 9 11:52:11 kea-dhcp6 88995 INFO [kea-dhcp6.lease-cmds-hooks.0x13b9da412000] LEASE_CMDS_DEINIT_OK unloading Lease Commands hooks library successful Apr 9 11:52:11 kea-dhcp6 88995 INFO [kea-dhcp6.dhcp6.0x13b9da412000] DHCP6_SHUTDOWN server shutdown
Do you have ideas why this issue occurs ? I would like to get my prefix at boot so my clients get an IPv6. Im rebooting my appliances quite often so for me its not a good workaround to go everyday in the interfaces settings to reload the settings.
Thanks for your help !
-
The KEA logs "Here the DHCP logs right after the boot :" I see only the server isde of things.
A you can see clearly in the "And after I reload the interfaces :" : it's dhcp6c (not kea process probably) and this is the DHCP6Client, which should kick in when the WAN comes active.
Also during boot.@Superpaul209 said in KEA DHCP6 doesn't start/get a prefix at boot:
I need to authenticate to my ISP.
Like I've see people doing here in France, ISP Orange.
@Superpaul209 said in KEA DHCP6 doesn't start/get a prefix at boot:
When this issue occurs I need to manually go the interfaces > WAN settings, press Save (even if I didn't change any settings) and reload the interface.
The next time, right after a reboot, before you do the "Save", can you check if dhcp6c was fired up ?
Is this your setup :
-
@Gertjan You are right, I think the problem comes from the dhcp6 client which doesn't start during boot. You don't see it in the logs because there aren't any logs of it. It only comes up when I reload the interface.
Also yes im living in France, it requires to put raw options and a specific config for Orange ISP :
-
@Superpaul209 said in KEA DHCP6 doesn't start/get a prefix at boot:
Also yes im living in France, it requires to put raw options and a specific config for Orange ISP :
Ok, yes, I've seen the DHCP Option generators.
Strange that the dhcp6c doesn't start at boot.
"It should".My pfSense 23.09.1 and 24.03-Beta since a week or so, is playing nicely, but I'm still using the LB6 as the upstream ISP router. I gets the "one" (just one /64) prefix out of the box.
I didn't find a reason to reboot my 4100, I leave it running all the time. I can't compain about my fibre connection, it can stay up for weeks if not months.
My dhcp6c wakes up every 5 minutes or so, and does 'its thing' :
Btw : I'm not using the kea stuff right now, as I need to use DHCP options on the LAN=server side (some captive portal testing is going on, as I use my hotel clients as guinea pigs ^^ )
-
@Gertjan or anyone else
Is there a command to reinstall the dhcp6c package (only the client) to the default one in PfSense Repository ? It could potentially be a corruption issue or an update issue on my package which makes it no work at boot.
I don't find other reasons why it doesnt start at boot. There aren't debug logs.
-
If the file ( /usr/local/sbin/dhcp6c ), an executable, was corrupted, then you would see for sure logs mentioning this.
Because I have this :
Check :
Again : I'm using ISC, not KEA !
-
My router is up since this morning, there is only the DHCP6 KEA backend running and no dhcp6c
79657 root 20 0 39M 22M select 0 0:02 0,00% /usr/local/sbin/kea-dhcp6 -c /usr/local/etc/kea/kea-dhcp6.conf{kea-dhcp6}
Then when I reload the WAN interface, it shows up.
25699 root 55 0 13M 2544K select 1 0:00 0,00% /usr/local/sbin/dhcp6c -D -n -c /var/etc/dhcp6c.conf -p /var/run/dhcp6c.pid mvneta0.832
-
-
@Gertjan I think the issue occurs because im using a "custom" dhcp6c package but this shouldn't be a problem for the client boot.
Its a compiled dhcp6c package to have new features like raw-options compatibility and ISP requirements. Its used in the OpnSense project.
There is a redmine ticket opened since 6 years with no answer : https://redmine.pfsense.org/issues/8173
I had injected the new file into /usr/local/sbin and replaced it with the old version.
Anyway, the custom package is working so thats not the issue but its more about the automatic start at the boot. Is there a file/parameter which automatically starts packages like other linux dists ?
-
Here : /usr/local/etc/rc.d/dhcp6c
You are using 23.09.1 : what is the kernel version ? 14 ?
What is the kernel version against which your dhcp6c is compiled ? etc etc . -
The latest pfSense version uses the kernel 14 of FreeBSD.
About the compiled "custom" executable :
/usr/local/sbin/dhcp6c: ELF 64-bit LSB shared object, ARM aarch64, version 1 (FreeBSD), dynamically linked, interpreter /libexec/ld-elf.so.1, for FreeBSD 12.1, FreeBSD-style, strippedAnd here is the content of the file /usr/local/etc/rc.d/dhcp6c
#!/bin/sh # PROVIDE: dhcp6c # REQUIRE: netif # BEFORE: NETWORKING # KEYWORD: shutdown # Add the following lines to # /etc/rc.conf.d/dhcp6c /etc/rc.conf.local or /etc/rc.conf # to enable this service: # # dhcp6c_enable (bool): Set to NO by default. # Set it to YES to enable dhcp6c. # dhcp6c_config (path): Set to /usr/local/etc/dhcp6c.conf # by default. # dhcp6c_dhcp6cctlkey (path): Set to /usr/local/etc/dhcp6cctlkey # by default. # dhcp6c_pidfile (path): Set to /var/run/dhcp6c.pid # by default. # dhcp6c_interfaces (NIC list): Not defined by default. # Set it to the network interface(s) where dhcp6c should work on. # dhcp6c_flags (additional arguments): Not defined by default. # . /etc/rc.subr name="dhcp6c" rcvar=dhcp6c_enable command="/usr/local/sbin/${name}" start_precmd="${name}_precmd" load_rc_config $name : ${dhcp6c_enable="NO"} : ${dhcp6c_config="/usr/local/etc/${name}.conf"} : ${dhcp6c_dhcp6cctlkey="/usr/local/etc/dhcp6cctlkey"} : ${dhcp6c_pidfile="/var/run/${name}.pid"} required_files="${dhcp6c_config}" pidfile="${dhcp6c_pidfile}" command_args="-c ${dhcp6c_config} -p ${dhcp6c_pidfile} ${dhcp6c_interfaces}" dhcp6c_precmd() { if [ -z ${dhcp6c_interfaces} ]; then warn "dhcp6c_interfaces is not set." return 1 fi if [ ! -s ${dhcp6c_dhcp6cctlkey} ]; then echo "Creating ${dhcp6c_dhcp6cctlkey}" (umask 077 ; openssl rand -base64 48 > ${dhcp6c_dhcp6cctlkey}) fi } run_rc_command "$1"
-
Isn't that asking for troubles, using a kernel 12.1 binary 'dhcp6c' on a version 14 system ??
/usr/local/etc/rc.d/dhcp6c : I've the same file, I guess. I left 23.09.1 several weeks ago, using 24.03-RC now.
-
I will need to compile it again on the new kernel version 14 or 15. I don't that would change anything but I guess I will have to try.
About the dhcp6c config /usr/local/etc/rc.d/dhcp6c, is it NO by default for you ?
: ${dhcp6c_enable="NO"}
Is it the automatic start at boot or something else ?
-
@Superpaul209 said in KEA DHCP6 doesn't start/get a prefix at boot:
dhcp6c_enable
I don't think this 'auto start' script is used by pfSense.
It's there s it is part of the standard framework when the dhcp6c package was included into pfSense.
Example : it locates the config (dhcp6c.conf) in the default FreeBSD location, not the one used by pfSense.The dhcp6c process is fully controlled from /etc/invc/interfaces.inc :
See here, where it is started : https://github.com/pfsense/pfsense/blob/88670c6c167418e7d12b010c0ce8b7d06c2b757f/src/etc/inc/interfaces.inc#L3848 line 3864 with the correct paths (in /var/...).
-
@Gertjan Hello again, im back after 15 days because I needed to recompile everything with the latest FreeBSD kernel. So everything is now compatible for FreeBSD 15.0 (which is the kernel of pfSense).
The new file reports as :
/usr/local/sbin/dhcp6c: ELF 64-bit LSB executable, ARM aarch64, version 1 (FreeBSD), dynamically linked, interpreter /libexec/ld-elf.so.1, for FreeBSD 15.0 (1500012), FreeBSD-style, stripped
You can see how I have done the steps to compile it here : https://github.com/Superpaul209/dhcp6c-armv7
Everything is up to date and you can find the binaries on this GitHub for arm64 and armv7 (for those who would like them if they are living in France).The installation was successful on each pfSense, after a reboot Im now having an IPv6 ! The problem was therefore one of compatibility with the kernel version which was too old.
Thanks for your ideas and your help, it has solved my issue