Hello, i have DHCP failover configuration based on Univention and https://kb.isc.org/article/AA-00502/31 documentation.
It works on 4.2.3 but don’t work after 4.3 upgrade.
/var/log/syslog:
failover peer dc: I move from recover to startup
Mar 19 12:24:59 dc1 dhcpd[24832]: failover peer declaration with no referring pools.
Mar 19 12:24:59 dc1 dhcpd[24832]: In order to use failover, you MUST refer to your main failover declaration
Mar 19 12:24:59 dc1 dhcpd[24832]: in each pool declaration. You MUST NOT use range declarations outside
Mar 19 12:24:59 dc1 dhcpd[24832]: of pool declarations.
Mar 19 12:24:59 dc1 dhcpd[24832]:
Mar 19 12:24:59 dc1 dhcpd[24832]: If you think you have received this message due to a bug rather
Mar 19 12:24:59 dc1 dhcpd[24832]: than a configuration issue please read the section on submitting
Mar 19 12:24:59 dc1 dhcpd[24832]: bugs on either our web page at www.isc.org or in the README file
Mar 19 12:24:59 dc1 dhcpd[24832]: before submitting a bug. These pages explain the proper
Mar 19 12:24:59 dc1 dhcpd[24832]: process and the information we find helpful for debugging..
I checked all configuration . they are the same as on my production 4.2.3 version.
root@dc1:~# cat /etc/dhcp/local.conf
# This can be used to modify local DHCP configuration options
failover peer "dc" {
primary;
address dc1.xxxxx.localnet;
port 519;
peer address dc2.xxxxx.localnet;
peer port 520;
max-response-delay 60;
max-unacked-updates 10;
mclt 3600;
split 128;
load balance max seconds 3;
}
authoritative;
ddns-update-style none;
on commit {
set noname = concat("dhcp-", binary-to-ascii(10, 8, "-", leased-address));
set ClientIP = binary-to-ascii(10, 8, ".", leased-address);
set ClientDHCID = binary-to-ascii(16, 8, ":", hardware);
set ClientName = pick-first-value(option host-name, config-option-host-name, client-name, noname);
log(concat("Commit: IP: ", ClientIP, " DHCID: ", ClientDHCID, " Name: ", ClientName));
execute("/usr/local/bin/dhcp-dyndns.sh", "add", ClientIP, ClientDHCID, ClientName);
}
on release {
set ClientIP = binary-to-ascii(10, 8, ".", leased-address);
set ClientDHCID = binary-to-ascii(16, 8, ":", hardware);
log(concat("Release: IP: ", ClientIP));
execute("/usr/local/bin/dhcp-dyndns.sh", "delete", ClientIP, ClientDHCID);
}
on expiry {
set ClientIP = binary-to-ascii(10, 8, ".", leased-address);
# cannot get a ClientMac here, apparently this only works when actually receiving a packet
log(concat("Expired: IP: ", ClientIP));
# cannot get a ClientName here, for some reason that always fails
execute("/usr/local/bin/dhcp-dyndns.sh", "delete", ClientIP, "", "0");
}