FreeBSD Ports

dns/gdnsd3 3.8.0_4

Authoritative-only GeoIP-aware DNS server

Repository
FreeBSD ports
Maintainer
[email protected]
License
GPLv3
Categories
dns
Package size
285.1 KiB, 750.8 KiB installed

Description

gdnsd is an Authoritative-only DNS server.

The initial g stands for Geographic, as gdnsd offers a plugin system for geographic (or other sorts of) balancing, redirection, and service-state-conscious failover. If you don't care about that feature, it's still quite good at being a very fast, lean, and resilient authoritative-only server for static DNS data.

gdnsd is written in C using libev and pthreads with a focus on high performance, low latency service. It does not offer any form of caching or recursive service, and does not support DNSSEC.

Install

As a binary package — by origin, or by package name:

pkg install dns/gdnsd3
pkg install gdnsd3

From the ports tree:

cd /usr/ports/dns/gdnsd3/ && make install clean

To depend on this port in another port's Makefile:

RUN_DEPENDS=	gdnsd3>0:dns/gdnsd3

Packages

The version each package repository carries. “-” means the repository builds no package of it, “n/a” that there is no such repository.

Repositoryaarch64amd64armv6armv7i386
FreeBSD:14:latest3.8.0_43.8.0_43.8.03.8.0_23.8.0_4
FreeBSD:14:quarterly3.8.0_43.8.0_4n/a3.8.0_23.8.0_4
FreeBSD:15:latest3.8.0_43.8.0_4n/a3.8.0_23.8.0_2
FreeBSD:15:quarterly3.8.0_43.8.0_4n/an/an/a
FreeBSD:16:latest3.8.0_43.8.0_4n/an/an/a
FreeBSD:16:quarterlyn/an/an/an/an/a

Dependencies

As this port's Makefile names them.

Library 3

The full lists below include those, and their dependencies in turn.

All build dependencies 9
All run dependencies 4

No port depends on this one.

Configuration

Options name: dns_gdnsd

OptionDefaultDescription
DOCSoffBuild and/or install documentation
MAXMINDDBonEnable GeoIP1 + GeoIP2 Support
USES
cpe pkgconfig libtool tar:xz perl5 gmake
Service scripts
gdnsd
Conflicts with
gdnsd2

Message after installing

As of version 3.0.0, gdnsd no longer has the ability to bind to
privileged ports and then drop privileges.  As a result, you must use
mac_portacl to allow the gdnsd user to bind to 53 udp/tcp.

Please execute the following commands to prep this system to run gdnsd:

echo "# required for gdnsd3">>/boot/loader.conf.local
echo 'mac_portacl_load="YES"' >>/boot/loader.conf.local
echo 'accf_dns_load="YES"' >>/boot/loader.conf.local
echo 'accf_data_load="YES"' >>/boot/loader.conf.local

echo "# required for gdnsd3">>/etc/sysctl.conf.local
echo "security.mac.portacl.suser_exempt=1">>/etc/sysctl.conf.local
echo "security.mac.portacl.port_high=1023">>/etc/sysctl.conf.local
echo "net.inet.ip.portrange.reservedlow=0">>/etc/sysctl.conf.local
echo "net.inet.ip.portrange.reservedhigh=0">>/etc/sysctl.conf.local
echo "security.mac.portacl.rules=uid:179:udp:53,uid:179:tcp:53">>/etc/sysctl.conf.local

Then, either reboot or run the following commands to implement the above
changes:

kldload mac_portacl
kldload accf_dns
kldload accf_data
service sysctl reload

Files

Manual pages 17
  • gdnsd(8)
  • gdnsd-plugin-extfile(8)
  • gdnsd-plugin-extmon(8)
  • gdnsd-plugin-geoip(8)
  • gdnsd-plugin-http_status(8)
  • gdnsd-plugin-metafo(8)
  • gdnsd-plugin-multifo(8)
  • gdnsd-plugin-null(8)
  • gdnsd-plugin-reflect(8)
  • gdnsd-plugin-simplefo(8)
  • gdnsd-plugin-static(8)
  • gdnsd-plugin-tcp_connect(8)
  • gdnsd-plugin-weighted(8)
  • gdnsd.config(5)
  • gdnsd.zonefile(5)
  • gdnsd_geoip_test(1)
  • gdnsdctl(8)
pkg-plist 34
  • bin/gdnsd_geoip_test
  • bin/gdnsdctl
  • libexec/gdnsd/gdnsd_extmon_helper
  • sbin/gdnsd
  • share/doc/gdnsd3/AUTHORS
  • share/doc/gdnsd3/COPYING
  • share/doc/gdnsd3/ControlSocket.md
  • share/doc/gdnsd3/INSTALL
  • share/doc/gdnsd3/Manual.md
  • share/doc/gdnsd3/NEWS
  • share/doc/gdnsd3/README.md
  • share/doc/gdnsd3/Security.md
  • share/doc/gdnsd3/VERSION3.md
  • share/man/man1/gdnsd_geoip_test.1.gz
  • share/man/man5/gdnsd.config.5.gz
  • share/man/man5/gdnsd.zonefile.5.gz
  • share/man/man8/gdnsd-plugin-extfile.8.gz
  • share/man/man8/gdnsd-plugin-extmon.8.gz
  • share/man/man8/gdnsd-plugin-geoip.8.gz
  • share/man/man8/gdnsd-plugin-http_status.8.gz
  • share/man/man8/gdnsd-plugin-metafo.8.gz
  • share/man/man8/gdnsd-plugin-multifo.8.gz
  • share/man/man8/gdnsd-plugin-null.8.gz
  • share/man/man8/gdnsd-plugin-reflect.8.gz
  • share/man/man8/gdnsd-plugin-simplefo.8.gz
  • share/man/man8/gdnsd-plugin-static.8.gz
  • share/man/man8/gdnsd-plugin-tcp_connect.8.gz
  • share/man/man8/gdnsd-plugin-weighted.8.gz
  • share/man/man8/gdnsd.8.gz
  • share/man/man8/gdnsdctl.8.gz
  • @dir etc/gdnsd3/geoip
  • @dir etc/gdnsd3/zones
  • @dir /var/db/gdnsd
  • @dir /var/run/gdnsd
distinfo 1
FileSizeSHA256
gdnsd-3.8.0.tar.xz4801362cdbdef678c62678d554a76af2563922d1b0c37642e9a1705183ff67de6d4913
Master sites 3
  • https://github.com/gdnsd/gdnsd/releases/download/v3.8.0/
  • ZI
  • http://gdnsd.scaleengine.net/gdnsd/

Commit history 0

No commits in the history this site was built from.