Help Us Beta Test FTLDNS
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.
Updated with the two commands above with 0 problems.
I’m on armbian 5.38 jessie (orange pi) with dnsmasq updated by hand to v2.76
At the moment it is working fine.
Installed it on my RPi3 running Raspbian Stretch.
Both my Domain Controllers (simple home setup) use it as their only forwarder.
Normally it’s the Pi-hole running in a CentOS VM.
No weird issues so far. Feels faster resolving wise, so that’s good
flawless!
works like a charm. have to play around with up and downgrade-procedure but… nothin.
clean and small - like it!
So far the beta version works fine on my Pi.
It even solves the bug between dnsmasq < 2.78 and DNScrypt-proxy (see here), so I can use FTLDNS with DNSSec enabled on Pi side (which is not possible with the “master” branch), perfect !
pihole + openvpn workz perfect - “jezuz - this FTL-thing is quick”
its time to donate…
p.s
the log looks good:
[2018-04-25 10:50:11.489] Notice: Increasing overTime struct size from 400 to 500 (788.61 KB)
[2018-04-25 15:52:44.864] ########## FTL started! ##########
[2018-04-25 15:52:44.864] FTL branch: FTLDNS
[2018-04-25 15:52:44.864] FTL version:
[2018-04-25 15:52:44.864] FTL commit: 3656ba2
[2018-04-25 15:52:44.864] FTL date: 2018-04-17 17:01:08 +0200
[2018-04-25 15:52:44.864] FTL user: pihole
[2018-04-25 15:52:44.864] Notice: Found no readable FTL config file
[2018-04-25 15:52:44.864] Using default settings
[2018-04-25 15:52:44.864] Starting config file parsing (/etc/pihole/pihole-FTL.conf)
[2018-04-25 15:52:44.864] SOCKET_LISTENING: only local
[2018-04-25 15:52:44.864] AAAA_QUERY_ANALYSIS: Show AAAA queries
[2018-04-25 15:52:44.864] MAXDBDAYS: max age for stored queries is 365 days
[2018-04-25 15:52:44.864] RESOLVE_IPV6: Resolve IPv6 addresses
[2018-04-25 15:52:44.864] RESOLVE_IPV4: Resolve IPv4 addresses
[2018-04-25 15:52:44.864] DBINTERVAL: saving to DB file every minute
[2018-04-25 15:52:44.864] DBFILE: Using /etc/pihole/pihole-FTL.db
[2018-04-25 15:52:44.864] MAXLOGAGE: Importing up to 24.0 hours of log data
[2018-04-25 15:52:44.864] PRIVACYLEVEL: Set to 0
[2018-04-25 15:52:44.864] IGNORE_LOCALHOST: Show queries from localhost
[2018-04-25 15:52:44.864] Finished config file parsing
[2018-04-25 15:52:44.865] Database successfully initialized
[2018-04-25 15:52:44.865] Notice: Increasing queries struct size from 0 to 10000 (640.15 KB)
[2018-04-25 15:52:44.865] Notice: Increasing domains struct size from 0 to 1000 (672.15 KB)
[2018-04-25 15:52:44.865] Notice: Increasing clients struct size from 0 to 10 (672.47 KB)
[2018-04-25 15:52:44.865] Notice: Increasing forwarded struct size from 0 to 4 (672.66 KB)
[2018-04-25 15:52:44.865] New forward server: 149.112.112.112 (0/4)
[2018-04-25 15:52:44.865] Notice: Increasing overTime struct size from 0 to 100 (680.68 KB)
[2018-04-25 15:52:44.865] New forward server: 9.9.9.9 (1/4)
[2018-04-25 15:52:44.877] Notice: Increasing overTime struct size from 100 to 200 (704.60 KB)
[2018-04-25 15:52:44.894] Imported 7848 queries from the long-term database
[2018-04-25 15:52:44.894] -> Total DNS queries: 7848
[2018-04-25 15:52:44.894] -> Cached DNS queries: 2707
[2018-04-25 15:52:44.894] -> Forwarded DNS queries: 4344
[2018-04-25 15:52:44.894] -> Exactly blocked DNS queries: 797
[2018-04-25 15:52:44.894] -> Wildcard blocked DNS queries: 0
[2018-04-25 15:52:44.894] -> Unknown DNS queries: 0
[2018-04-25 15:52:44.894] -> Unique domains: 909
[2018-04-25 15:52:44.894] -> Unique clients: 3
[2018-04-25 15:52:44.894] -> Known forward destinations: 2
[2018-04-25 15:52:44.894] Successfully accessed setupVars.conf
[2018-04-25 15:52:44.896] Found no other running pihole-FTL process
[2018-04-25 15:52:44.904] PID of FTL process: 16411
[2018-04-25 15:52:44.904] Listening on port 4711 for incoming IPv4 telnet connections
[2018-04-25 15:52:44.904] Listening on port 4711 for incoming IPv6 telnet connections
[2018-04-25 15:52:44.904] Listening on Unix socket
[2018-04-25 15:52:44.905] Gravity list entries: 121666
[2018-04-25 15:52:44.905] No wildcard blocking list present
[2018-04-25 15:52:54.125] Gravity list entries: 121666
[2018-04-25 15:52:54.125] No wildcard blocking list present
could it be that i dont run web-ui ?
[SOLVED] update august '18