[Neighbor Discovery Protocol Proxy Daemon]. Es un daemon que funciona como proxy para el protocolo NDP [Neighbor Discovery Protocol] en IPv6 entre dos o más interfaces. Su propósito principal es permitir que dispositivos en diferentes subredes IPv6 se comuniquen como si estuvieran en la misma red local, sin necesidad de configuraciones especiales en el kernel Linux. En redes IPv6, el protocolo NDP reemplaza a ARP de IPv4 para la resolución de direcciones. Normalmente, los routers no reenvían mensajes NDP entre subredes.
Ejemplo de configuración básica
# nano /etc/ndppd.conf
route-ttl 30000
proxy eth0 {
router yes
timeout 500
ttl 30000
# Regla para todas las direcciones
rule * {
static
}
# O regla específica para un prefijo
rule 2001:db8:1234::/64 {
auto
}
}
# systemctl enable ndppd
# journalctl -u ndppd -f
# ip -6 neighbor show
# ip -6 route show
# ping6 2001:db8:1234::1
1.-
Ejemplo completo de implementación
Router con dos interfaces. Configuración de interfaces
# ip link set eth0 up
# ip link set eth1 up
Asignar direcciones IPv6
# ip -6 addr add 2001:db8:1111::1/64 dev eth0
# ip -6 addr add 2001:db8:2222::1/64 dev eth1
Habilitar forwarding IPv6
$ echo 1 > /proc/sys/net/ipv6/conf/all/forwarding
Configurar ndppd
# nano /etc/ndppd.conf
route-ttl 30000
proxy eth0 {
router yes
rule 2001:db8:2222::/64 {
static
}
}
proxy eth1 {
router yes
rule 2001:db8:1111::/64 {
static
}
}
# systemctl start ndppd