RDNSSD(8)
π RDNSSD(8) β like, the IPv6 Recursive DNS Server discovery Daemon bestie π
okay so. this is rdnssd, from the System Manager's Manual. she's a little daemon and she's literally so good at what she does, no cap. let's get into it π«Ά
β¨ NAME β¨
rdnssd β IPv6 Recursive DNS Server discovery Daemon π
πΈ SYNOPSIS πΈ
rdnssd [-f] [-H merge-hook] [-r resolv-file] [-p pidfile] [-u username]
π¦ DESCRIPTON π¦
so rdnssd is a daemon program, and her whole thing is giving client-side support for DNS configuration using the Recursive DNS Server (RDNSS) option, exactly as described in RFC 5006. her purpose? supplying IPv6 DNS resolvers through stateless autoconfiguration, carried by Router Advertisements. it's giving very effortless, very autoconfig β¨
rdnssd parses RDNSS options and keeps track of resolvers so she can write nameservers entries into a resolv.conf(5) configuration file. by default she writes her own separate file, and she may call an external hook to merge it with the main /etc/resolv.conf. this is all aimed at easing coexistence with concurrent daemons β especially IPv4 ones β that are also out here updating /etc/resolv.conf. sharing the spotlight, as she should π
on Linux, since version 2.6.24, rdnssd takes advantage of a new netlink interface, forwarding RDNSS options validated by the kernel to userland. otherwise? she just listens to all ICMPv6 traffic through a raw socket. main character behavior either way tbh.
π OPTIONS π
-for--foregroundβ do not detach from the console. run the program in the foreground. she stays right there with you, bestie π«Ά-H merge-hookor--merge-hook merge-hookβ execute this hook wheneverresolv.confis updated. if this option is not specified, then no hook will be called. so like, no hook, no drama.-hor--helpβ display some help and exit. very demure, very mindful πΈ-p pidfileor--pidfile pidfileβ override the location of the pidfile.-r resolv-fileor--resolv-file resolv-fileβ set the path to the generatedresolv.conffile.-u usernameor--user usernameβ override the user that the program will run as. by default, it runs asnobody. (she's literally nobody and still iconic π)-Vor--versionβ display program version and license and exit. go off, queen π
π FILES π
/etc/rdnssd/merge-hookβ a basic merge hook shipped withrdnssd, to be called with the-Hoption./var/run/rdnssd/resolv.confβ the defaultresolv.conf(5)file thatrdnssdwrites its configuration to./var/run/rdnssd.pidβ the process-id file.
π BUGS π
okay bestie, we gotta be honest here. rdnssd does not keep track of the lifetimes of the routers associated with some DNS resolvers, whereas it should to strictly comply with RFC 5006. π it's a whole thing. not her best moment, fr fr.
and when rdnssd uses a raw socket instead of the netlink kernel interface, she does not validate received Neighbor Discovery traffic in any way. like, none. for example, it will always consider Router Advertisement packets, whereas it should not if the host is configured as a router. π when the netlink interface is used, such validation is done by the kernel. so like, raw socket = trust issues (in the other direction, which is somehow worse).
π SEE ALSO π
resolv.conf(5), rdisc6(8), ipv6(7)
π AUTHOR π
Pierre Ynard <linkfanel at yahoo.fr>
and that's the whole vibe check, bestie π this was rdnssd β version $Date$, and yeah, she's filed under RDNSSD(8). slay, periodt. β¨ππ¦
π¦ where this page comes from
- alpine 3.22: ndisc6-doc 1.0.8-r1 Β· GPL-2.0-or-later
- alpine 3.23: ndisc6-doc 1.0.8-r1 Β· GPL-2.0-or-later
- alpine 3.24: ndisc6-doc 1.0.8-r1 Β· GPL-2.0-or-later
- arch rolling: ndisc6 1.0.9-1 Β· GPL-2.0-only OR GPL-3.0-only
- debian bookworm: rdnssd 1.0.5-1+b2
- debian trixie: rdnssd 1.0.7-1
- epel 10: ndisc6 1.0.8-4.el10_2 Β· GPL-2.0-only OR GPL-3.0-only
- epel 9: ndisc6 1.0.7-3.el9 Β· GPL-2.0-only OR GPL-3.0-only
- fedora 43: ndisc6 1.0.8-4.fc43 Β· GPL-2.0-only OR GPL-3.0-only
- fedora 44: ndisc6 1.0.8-5.fc44 Β· GPL-2.0-only OR GPL-3.0-only
- nixos 26.05: ndisc6 1.0.4
- nixpkgs unstable: ndisc6 1.0.9
- ubuntu jammy: rdnssd 1.0.4-2ubuntu2
- ubuntu noble: rdnssd 1.0.7-1ubuntu2
- ubuntu questing: rdnssd 1.0.7-1ubuntu2
- ubuntu resolute: rdnssd 1.0.8-1
- ubuntu stonking: rdnssd 1.0.8-1
- Copyright Β© 2007 Pierre Ynard, RΓ©mi Denis-Courmont
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms