Help Us Beta Test FTLDNS

Help Us Beta Test FTLDNS

2018-03-24 Updates 26

In case you missed it, FTLDNS is Pi-hole’s Faster Than Light (FTL) daemon combined with a DNS/DHCP server (our fork of dnsmasq). So instead of installing dnsmasq as a dependency, we will be distributing all services in a single binary. This will allow us to hook into dnsmasq‘s functionality at a code- level, as well as ensuring that you are using the latest stable version of the resolver and receive, e.g., important bug fixes early on.

Today, we’re looking for some users to help us beta test the software. If you are comfortable with troubleshooting issues, and if you’re interested, run these commands (after reading the details of this beta):

echo "FTLDNS" | sudo tee /etc/pihole/ftlbranch
pihole checkout core FTLDNS 
pihole checkout web FTLDNS

If you want to go back to the master branch at any time, the reversal process is fairly trivial:

# To Revert to master:
sudo rm /etc/pihole/ftlbranch
pihole checkout master

# To Revert to development:
sudo rm /etc/pihole/ftlbranch
pihole checkout dev

Important!

FTLDNS will disable existing installs of dnsmasq (because FTLDNS is dnsmasq with special sauce thrown in, so both cannot co-exist. All of your custom configs will still work because we haven’t modified dnsmasq very much.

Verify You Have FTLDNS Installed

If FTLDNS installed correctly, dnsmasq should be disabled and replaced by pihole-FTL. Verify with these commands:

sudo systemctl status dnsmasq
sudo systemctl status pihole-FTL

dnsmasq should be offline and pihole-FTL should be active.

Another way to verify you are now running FTLDNS is by checking the dashboard and looking for the nice new query types donut chart.

Finally, you can check your versions are all on the FTLDNS branches.

For Raspbian Jessie users

We have good news for you as FTLDNS (should™!) reinstate Pi-hole’s support for Debian Jessie! Note that, if you previously downgraded Pi-hole, you’ll need to run a few more commands to test out FTLDNS:

cd /etc/.pihole
sudo git fetch --all && sudo git checkout master
cd /etc/pihole
sudo git fetch --all && sudo git checkout master
echo "FTLDNS" | sudo tee /etc/pihole/ftlbranch
pihole checkout core FTLDNS 
pihole checkout web FTLDNS

The Details

Except in special scenarios, pihole-FTL can’t share a system with dnsmasq from v4.0 onwards, since both provide the same services (DNS and possibly also DHCP) and need to bind to the same ports.

Think of FTLDNS as dnsmasq with Pi-hole’s special sauce. This allows us to easily merge any upstream changes that get added, while still allowing us to continue to develop Pi-hole as we have been.

What does this mean for you? If you already have dnsmasq installed, it will be disabled and pihole-FTL will take its place. If you have any custom config files made for dnsmasq, they will still all work (because as we mentioned, we use dnsmasq internally to provide the DNS/DHCP service). However, we do disable dnsmasq so pihole-FTL can run properly. If you have any custom scripts that use the binary name dnsmasq, they would need to be edited as pihole-FTL is your new DNS/DHCP service.

What’s New With FTLDNS?

Better performance

Since we have a closer integration with dnsmasq, we gain a performance boost by not having to read the log file.

No need for the log file

Many of you have been complaining that the heavy log writing may lead to SD card wearing-out. With FTLDNS, the log file is not needed any longer and hence this heavy disk writing is a thing of the past. However, note that during the beta phase, extensive logging actually stays enabled to ease possible debugging.

More Query Types

You’ll now be able to see all sorts of different DNS records.

and more details on the Query Log page (Reply Type, more to come)

Getting Help and Providing Feedback About The Software

We’d love to hear your feedback on the software and any bugs you may run into. We’re available on GitHub, Discourse, Reddit and Twitter.

Please tag your issues with ftldns (where available) so we know it’s related to that and not a regular issue.

Notable Replies

  1. Disable (but dnsmasq is still installed) or uninstall?

    Does not work on my system (Debian 9):

    Unit dnsmsaq.service could not be found.

    but the command 'sudo /etc/init.d/dnsmasq status'.

  2. We disable the service with systemctl disable dnsmasq

    As dnsmasq is embedded into FTL, there is no need to have it running separately :slight_smile:

  3. I'm on FTLDNS now. Update without obvious problems.

    To monit users: adapt or deactivate your configuration file for previous dnsmasq.

  4. There is a typo with "dnsmsaq" instead of "dnsmasq"
    "sudo systemctl status dnsmsaq" should be "sudo systemctl status dnsmasq"

Continue the discussion discourse.pi-hole.net

21 more replies

Participants