Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

The Linux kernel can't do this, or at least can't for every IP in your /64 without manually specifying each. Luckily there is a nice little project on GitHub called ndppd that can do this for you.

Your distribution may have a package.

Code Block
languagebash
apt install ndppd


If your distro doesn't have the package: Install gcc, g++, and make on your gateway and then:

Code Block
git clone https://github.com/DanielAdolfsson/ndppd
cd ndppd
make
sudo make install

Your distribution may have a package. Check before doing the build.


Now you'll want to copy ndppd ndpd.conf-dist from the ndppd source tree to /etc/ndppd.conf and edit it. We just had to edit the prefix under their example rule entry:

...

That tells nndpd to answer NDP requests for the entire /80 from which we'll be assigning IPv6 addresses to our devices. Obviously you will need to change that IP prefix to your own.

The rule should use theĀ  "static" or "iface" option. We saw some flakiness with "auto".

Then you'll want to start nndpd and tell it to start on boot. It doesn't come with init/systemd scripts so we just did this:

...