Warda-DNSDocs Warda: from ward — to protect, guardian
v0.9.3

Install on Fedora, RHEL, Rocky Linux or AlmaLinux (64-bit)

Download the rpm package of your architecture from the release page, then:

sh
sudo dnf install ./warda-<version>-1.x86_64.rpm   # or .aarch64

The rpm package (built by scripts/build-dist.sh from packaging/rpm/warda.spec, tested in AlmaLinux 9 by the CI) holds the same files as the Debian package and behaves the same way: service and helper units turned on at the installation, settings in /etc/default/warda (%config(noreplace): a file an administrator changed is kept, the new one written beside it as .rpmnew), previous version kept at each upgrade and put back by the rollback, nightly updates (the updater installs the rpm package of the release with rpm -U, see Updates). On top of that:

  • firewalld (on by default on Fedora and RHEL): the package brings the service warda (/usr/lib/firewalld/services/warda.xml: DNS 53, web interface 80 and 443, DNS over TLS and over QUIC 853, DHCP 67, DHCPv6 547, VRRP) and adds it to the default zone at the installation only; its removal takes it away;
  • SELinux: /usr/lib/warda (the rollback, the previous version) is labelled bin_t, with semanage fcontext when it is there so that a relabel keeps it, else with chcon;
  • removal: sudo dnf remove warda stops and turns off the units, gives the machine its DNS servers back and keeps the data, as a Debian package removed without purge; sudo rm -rf /var/lib/private/warda /var/cache/warda takes them away.

Ports 53, 80 and 443 must be free: on Fedora, the stub of systemd-resolved holds port 53 (DNSStubListener=no in /etc/systemd/resolved.conf, then sudo systemctl restart systemd-resolved); RHEL, Rocky Linux and AlmaLinux do not run it by default.