I’m glad to announce the first release of the ip6neigh Project on GitHub. The purpose of this OpenWrt/LEDE add-on script is to automatically create and maintain a hosts file for dnsmasq where every SLAAC address on the LAN will get an easy-to-memorize name. The hosts file is kept in sync with the router’s IPv6 neighbors table.
In the most typical cases, the name for the IPv6 address will be the DHCPv4 name for that same host, preceded by one or more DNS labels that identify the scope of the address. Examples: Laptop.lan (ULA), Laptop.TMP.GUA.lan (the temporary GUA).
Those who are currently managing a dual-stack LAN behind the router or want to start using IPv6 for the first time will benefit from knowing what addresses the IPv6 hosts have took via SLAAC and also getting to know the meaning of each one of them at a glance. Packet captures and LuCI Realtime Connections page will show names in place of the raw (and often confusing for beginners) IPv6 addresses.
Extra advanced features allow creating dynamic firewall rules for servers that get dynamic global prefix from the ISP and updating the server’s external DDNS record from a centralized point (the router), using ddns-scripts.
An automated installation procedure is available at the project’s page: https://github.com/AndreBL/ip6neigh
Many thanks to Craig Miller (cvmiller) for testing, documenting, technically discussing and encouraging the publication of the project.