This is NOT an original piece of work, just a snap of Knot Resolver
Knot Resolver is a caching full resolver implementation written in C and LuaJIT, both a resolver library and a daemon. The core architecture is tiny and efficient, and provides a foundation and a state-machine like API for extensions. There are three modules built-in - iterator, validator, cache, and a few more are loaded by default. Most of the rich features are written in Lua(JIT) and C. Batteries are included, but optional.
The LuaJIT modules, support DNS privacy and DNSSEC, and persistent cache with low memory footprint make it a great personal DNS resolver or a research tool to tap into DNS data. TL;DR it's the OpenResty of DNS.
First use
Read the doc at https://knot-resolver.readthedocs.io/en/stable/ on how to get started.
Configure the resolver
sudo vi /var/snap/knot-resolver-gael/current/kresd.conf
sudo snap start --enable knot-resolver-gael.kresd
sudo snap logs -n 30 knot-resolver-gael.kresd
Deny domain resolution (refreshed every 4 hrs)
sudo vi /var/snap/knot-resolver-gael/common/policies/deny_hosts.url
# Sample deny host files URLs
https://pgl.yoyo.org/adservers/serverlist.php?hostformat=hosts;showintro=0
https://raw.githubusercontent.com/StevenBlack/hosts/master/hosts
https://raw.githubusercontent.com/anudeepND/blacklist/master/adservers.txt
http://sysctl.org/cameleon/hosts
sudo vi /var/snap/knot-resolver-gael/common/policies/deny_domains.url
# Sample deny domains URLs
https://gitlab.com/quidsup/notrack-blocklists/raw/master/notrack-blocklist.txt
https://s3.amazonaws.com/lists.disconnect.me/simple_ad.txt
https://s3.amazonaws.com/lists.disconnect.me/simple_tracking.txt
https://v.firebog.net/hosts/AdguardDNS.txt
https://v.firebog.net/hosts/Easyprivacy.txt
sudo snap start --enable knot-resolver-gael.deny-policy
sudo snap logs -n 30 knot-resolver-gael.deny-policy
sudo vi /var/snap/knot-resolver-gael/current/kresd.conf
policy.add(policy.rpz(policy.DENY, '/var/snap/knot-resolver-gael/common/policies/deny_policy.rpz',true))
sudo snap restart knot-resolver-gael.kresd
sudo journalctl --follow --lines 30 -u snap.knot-resolver-gael.kresd
2025-04-30
2024-11-17
2024-10-31
2024-08-14
2024-06-25
2024-02-21
2023-09-21
2023-02-08
2022-09-26
2022-06-14
2022-03-20
2022-01-11
2021-12-13
2021-10-14
2021-08-22
2021-08-16
2021-07-30
2021-07-08
2021-05-11
2021-04-11
2021-03-28
2021-03-14
You are about to open
Do you wish to proceed?
Thank you for your report. Information you provided will help us investigate further.
There was an error while sending your report. Please try again later.
Snaps are applications packaged with all their dependencies to run on all popular Linux distributions from a single build. They update automatically and roll back gracefully.
Snaps are discoverable and installable from the Snap Store, an app store with an audience of millions.
Snap is available for Red Hat Enterprise Linux (RHEL) 8 and RHEL 7, from the 7.6 release onward.
The packages for RHEL 7, RHEL 8, and RHEL 9 are in each distribution’s respective Extra Packages for Enterprise Linux (EPEL) repository. The instructions for adding this repository diverge slightly between RHEL 7, RHEL 8 and RHEL 9, which is why they’re listed separately below.
The EPEL repository can be added to RHEL 9 with the following command:
sudo dnf install https://dl.fedoraproject.org/pub/epel/epel-release-latest-9.noarch.rpm
sudo dnf upgrade
The EPEL repository can be added to RHEL 8 with the following command:
sudo dnf install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
sudo dnf upgrade
The EPEL repository can be added to RHEL 7 with the following command:
sudo rpm -ivh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
Adding the optional and extras repositories is also recommended:
sudo subscription-manager repos --enable "rhel-*-optional-rpms" --enable "rhel-*-extras-rpms"
sudo yum update
Snap can now be installed as follows:
sudo yum install snapd
Once installed, the systemd unit that manages the main snap communication socket needs to be enabled:
sudo systemctl enable --now snapd.socket
To enable classic snap support, enter the following to create a symbolic link between /var/lib/snapd/snap
and /snap
:
sudo ln -s /var/lib/snapd/snap /snap
Either log out and back in again or restart your system to ensure snap’s paths are updated correctly.
To install knot-resolver-gael, simply use the following command:
sudo snap install knot-resolver-gael
Browse and find snaps from the convenience of your desktop using the snap store snap.
Interested to find out more about snaps? Want to publish your own application? Visit snapcraft.io now.