NDPPD.CONF(5)

πŸ“¦
version 0.2.6 Β· 2 versions
, in epel 10, fedora 43, fedora 44, nixos 26.05, nixpkgs unstable, opensuse-leap 16.0

🌸 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 like 1234::1 or a whole subnet like 1111::/96. more rule deets below, keep scrolling bestie πŸ’…
  • ttl <value> β€” controls how long ndppd will cache an entry. measured in milliseconds, and the default is 30000 (aka 30 seconds, iconic ⏱️)
  • autowire <yes|no> β€” controls whether ndppd automatically creates host entries in the routing tables when it receives Neighbor Advertisements on a listening interface. default is no. so like, no by default, no cap πŸ™ˆ
  • promiscuous <yes|no> β€” controls whether ndppd puts 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 is no. lowkey important for the messy setups 🌈
  • timeout <value> β€” controls how long ndppd waits for a Neighbor Advertisement message after it forwards a Neighbor Solicitation message according to the rule. in milliseconds, default is 500 (that's .5 second, half a sec, blink and you miss it 😭)
  • router <yes|no> β€” controls if ndppd should send the router bit when sending Neighbor Advertisement messages. default here is yes. 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, ndppd will 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 tells ndppd it 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 πŸ’