From LinuxReviews
Jump to navigationJump to search

rdnssd, available has part of the ndisc6 (ICMPv6 Neighbor Discovery tool) package, is a very small daemon that will listen for Recursive DNS Server (RDNSS) advertisements on IPv6 networks and automatically configure the system to use those by adding entries to /etc/resolv.conf. It is useful on local networks where IPv6 is handled using stateless autoconfiguration using something like the radvd Router Advertisement Daemon.

The ndisc6 package does not provide any systemd service files for rdnssd. This oversight is not a huge issue since distributions with systemd will typically have NetworkManager handling IPv6 connectivity.


rdnssd will by default write advertised RDNS settings to /var/run/rdnssd/resolv.conf and merge those to /etc/resolv.conf using a hook script located at /etc/rdnssd/merge-hook

The ndisc6 package shipped with most distributions omits creating the by-default crustal directory /var/run/rdnssd/. The result is that rdnssd doesn't work unless you manually create that folder and assign it to the nobody user rdnssd uses by default:

mkdir -p /var/run/rdnssd/
chown nobody:nobody /var/run/rdnssd/

rdnssd can simply be started as root (it will fork to nobody) with no options once that folder is in place. You can write a OpenRC init file or a systemd init file or just start it from any script ran at boot-up if you want to permanently use rdnssd.

rdnssd will only work if there is a Router Advertisement Daemon advertising RDNSS present on the local network.

See Also

Add your comment
LinuxReviews welcomes all comments. If you do not want to be anonymous, register or log in. It is free.