I was having some problems with a remote router not resolving addresses, so I started 'setup' from the CLI to change them. When I did this, I had the same problem (and suspected a network issue). Clearing dnsmasq (dnsmasqctl restart) showed it was still using the old DNS servers.
The router is using DHCP for the red interface, but I am trying to override the DNS given by them (it is their little monitoring tool).
Investigating, I found the following happened:
1. DNS settings appear in two places /var/ipfire/ethernet/settings /var/ipfire/dns/settings
2. 'setup' modifies /var/ipfire/ethernet/settings, but does not modify /var/ipfire/dns/settings. It appears dnsmasql uses /var/ipfire/dns/settings.
3. In the webui, 'Network | Assign DNS Server' reads /var/ipfire/dns/settings, so changes made there correctly work.
Resolution:
Either fix the code or simply remove the text that says you can change the DNS for DHCP there:
Enter the DNS and gateway information. These settings are used only with Static IP (and DHCP if DNS set) on the RED interface.
Frankly, the latter would be easiest, and most people will use the WebGUI, and weirdos like me will simply edit the settings file if I happen to need to change it from the CLI.
Rod