NDPPD to enable fully routed /64 for IPv6

Last Updated on Monday, 11 May 2020 17:53 Written by BiRU Monday, 11 May 2020 17:51


Recently VSHELL has rolled out IPv6 connectivity in some locations and each virtual machine is provided with its own /64. However, the /64 is not fully routed.

When any request ( eg. an ICMPv6 echo request ) whose destination address is in the /64 but not yet configured/assigned is sent from a remote host, the default gateway instead send a neighbor solicitation multicast to ask who has this address. If it receives no reply, the original request will never reach the interface.

In this situation, ndppd ( NDP Proxy Daemon ) can be used to reply to the default gateway for the whole subnet. Here is an example with 2001:19f0:5c00:802a::/64.

Since ndppd is not availableĀ in the repo, just download the latest tarball to build it from source with g++.

wget http://data.vshell.net/files/ndppd-0.2.5.tar.gz
tar -zxvf ndppd-0.2.5.tar.gz
cd ndppd-0.2.5 make make install

- create /etc/ndppd.conf -

route-ttl 30000 proxy eth0 { router yes timeout 500 ttl 30000 rule 2001:19f0:5c00:802a::/64 { static }

--- start ndppd

ndppd -d -c /etc/ndppd.conf