NDPPD.CONF(5)
πΈ NDPPD.CONF(5) β the ndppd.conf file, explained by your fave β¨
okay bestie, sit down, hydrate, because we're learning the config file for ndppd β the NDP Proxy Daemon manual, no cap π
π NAME π
ndppd.conf β literally the configuration file for ndppd, that's it, that's the name π
β¨ DESCRIPTION β¨
so the syntax goes a little something like this, and yes you're gonna want to screenshot this:
proxy eth0 {
rule 1234:5678::/96 {
}
}
the way this works is: your config file must have one or more proxy sections, and every single one of those proxy sections must have one or more rule sections. no skipping, no shortcuts, it's giving structured π¦
here's the vibe: the ndppd daemon sits and listens on the interface you handed it as the argument to the proxy section. the second a Neighbor Solicitation message shows up, it goes "ooh let me check" and tries to match the target address against the address you specified as the argument of the rule section. match made in heaven, fr fr π
π OPTIONS π
proxy <interface>β adds a proxy and binds it to the interface you name. peek below for all the proxy options, iykyk πΈ
π PROXY OPTIONS π
rule <address>β adds a rule with that address to the proxy. it can be an IP like1234::1or a whole subnet like1111::/96. more rule deets below, keep scrolling bestie πttl <value>β controls how longndppdwill cache an entry. measured in milliseconds, and the default is30000(aka 30 seconds, iconic β±οΈ)autowire <yes|no>β controls whetherndppdautomatically creates host entries in the routing tables when it receives Neighbor Advertisements on a listening interface. default isno. so like, no by default, no cap πpromiscuous <yes|no>β controls whetherndppdputs the proxy listening interface into promiscuous mode, which means it'll react to inbound and outbound NDP commands. this one is required if you want machines behind the gateway to talk to each other in more complex topology scenarios. default value isno. lowkey important for the messy setups πtimeout <value>β controls how longndppdwaits for a Neighbor Advertisement message after it forwards a Neighbor Solicitation message according to the rule. in milliseconds, default is500(that's .5 second, half a sec, blink and you miss it π)router <yes|no>β controls ifndppdshould send the router bit when sending Neighbor Advertisement messages. default here isyes. she's a router girlie by default π
π§ RULE OPTIONS π§
specify a method right here. scroll down, it's coming β
π METHOD π
you must pick one of these in the rule section. all of them are mutually exclusive options β they cannot be combined, so don't even try it bestie, pick one and commit π«Ά
iface <interface>β specify which interface the Neighbor Solicitation message will be sent out through.auto(NEW) β if you specify this,ndppdwill attempt to detect which interface to use in order to forward Neighbor Solicitation Messages, by reading the routing table/proc/net/ipv6_route. she does the detective work herself πstatic(NEW) β this tellsndppdit should immediately respond to a Neighbor Solicitation Message without querying an internal interface.
β οΈ ok real talk: it's recommended that you use this option sparingly, and with as high a prefix length as possible. the whole point is to make sure upstream routers are not polluted with spurious neighbor entries. protect the routers, they're just trying to live π
and if no rule option has been specified at all, it will default to static in order to be compatible with 0.2.1. but β and this is the important part β this will produce a warning, and most likely won't work in future versions of ndppd. so like... don't get comfy with it πΈ
π AUTHOR π
Daniel Adolfsson <daniel@priv.nu> β thank you for your service, king π
π SEE ALSO π
ndppd(1) β go read that one next bestie, it's the whole point π¦
and that's the whole page!! this was the NDP Proxy Daemon Manual, dated 9/18/2011, and the page is NDPPD.CONF(5) β periodt πβ¨ no notes, you ate that, go configure something legendary π
π¦ where this page comes from
- epel 10: ndppd 0.2.6-1.el10_1 Β· GPL-3.0-or-later
- fedora 43: ndppd 0.2.6-2.fc43 Β· GPL-3.0-or-later
- fedora 44: ndppd 0.2.6-3.fc44 Β· GPL-3.0-or-later
- nixos 26.05: ndppd 0.2.6
- nixpkgs unstable: ndppd 0.2.6
- opensuse-leap 16.0: ndppd 0.2.5.43-bp160.1.13 Β· GPL-3.0-or-later
- opensuse-leap 16.0: ndppd 0.2.5.43-bp160.1.13 Β· GPL-3.0-or-later
- opensuse-leap 16.0: ndppd 0.2.5.43-bp160.1.13 Β· GPL-3.0-or-later
- opensuse-leap 16.0: ndppd 0.2.5.43-bp160.1.13 Β· GPL-3.0-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms