Bug #2600
closedDHCP Server different parameter order in config.xml interrupts peer groups
100%
Description
I have installed two pfsense (2.1) in CARP mode which works fine exceptionally the DHCP server. I had always interrupted communication rsp. recover mode states on both side. Further the master nor the slave provided ip addresses anymore. I didn't find any solution in pfsense forum. I must say that I manage 7 VLANs via pfsense some with DHCP.
As I checked both dhcpd.conf files I found out that some peer groups with same name did refer different interfaces respective subnets. Example
Master:
failover peer "dhcp0" {
primary;
address 192.168.71.254;
port 519;
peer address 192.168.71.253;
peer port 520;
max-response-delay 10;
max-unacked-updates 10;
split 128;
mclt 600;
Slave:
failover peer "dhcp0" {
secondary;
address 192.168.60.253;
port 519;
peer address 192.168.60.254;
peer port 520;
max-response-delay 10;
max-unacked-updates 10;
split 128;
mclt 600;
--> the subnet 192.168.71.0 was in slave pfsense in peer group "dhcp3". --> this configuration can't work.
Then I compared in config.xml the section <dhcp> ... </dhcp> didn't have the same order. Example:
Master's order: <lan> <opt4> <opt3> <opt1> <opt6> <opt2> <opt7>
Slaves's order: <opt3> <lan> <opt2> <opt1> <opt6> <opt2> <opt7>
It seems that pfsense store in order when the dhcp per interface has been activated. The problem was that I have configured the slave in different order. During the dhcpd.conf built pfsense use the storage order as peer group order. After reordering the slave it worked.
Conclusion: The bug is that dhcp interfaces should be ordered in same way as in section "<interfaces>" --> wan lan opt1 opt2 ... optn
Small feature request: rename "dhcp0" to the interface name like "dhcp_lan" or "dhcp_opt1". This makes more sense because "dhcp1" on the status page "dhcp lease" means interface opt4.
Updated by Jim Pingle over 12 years ago
Do you have the HA sync settings set to copy the DHCP settings from master to slave? If so it should be copying that whole thing over, order and all, I thought.
Keying off the interface name is probably a better idea in the long term.
Updated by Erik Ruedin over 12 years ago
Hello Jim
I startet with an "empty" slave and configured interfaces and DHCP before initiating CARP.
Then it was too late. CARP sync doesn't reorder the DHCP entries in config.xml. My solution was to delete all DHCP entries in slave's config.xml manually. Then the CARP sync hast rentered using order of masters config.xml.
Therefore it's not a critical bug but it used time to find out what the problem was.
Updated by Renato Botelho almost 12 years ago
- Status changed from New to Feedback
- % Done changed from 0 to 100
Applied in changeset c4bd43ccba1be01cf3ef05fea89c9730dc633096.
Updated by Chris Buechler over 11 years ago
- Status changed from Feedback to Resolved