I have a bunch of services running on my LAN, mostly from a single Debian machine. I access them at URLs like http://devicename.lan:portnumber. I would like to change to http://servicename.devicename.lan.
How it works now: The router (openwrt) sets a static IP per device and the port number is selected by the application or system unit running it.
What is the absolute simplest way to accomplish this? I don’t mind if it is managed by the router or by the server machine itself. Hoping for something that can be configured with a text file or web interface or other basic mathod.
These sevices are private, just for me and I have no plans to ever access them externally. I have so far avoided any certificates or SSL or other stuff. I don’t use docker and would rather not get into it right now. I like my domain name setup how it is with fake local domains.
Hoping this could be possible without making a whole project out of it.


Yes but all my services work in my LAN even if I am not connected to the outside world. Obviously not fully functional, but everything runs.
You are getting confused by NAT
In IPv6 there is no NAT. NAT makes things more complicated and adds overhead that isn’t needed. In the old (pre Nat) internet IPs worked like it was suppose to and each device had its own routable address. IPv6 fixes this by both using a massive address space and allowing hosts to get infinite IPs. You can assign a IP address to each service since there is so much space.
In general NAT is the enemy of peer to peer networks which is what IP as a protocol is designed to do