I have 3 OpenWRT routers on a home network. They are connected via ethernet and broadcast the same SSID with the same WPA-2PSK key, so devices occasionally move between WiFi access points. I want to be able to quickly tell which device is connected to which AP's WiFi but many of the devices broadcast no hostname or have an opaque hostname like ESP_4303E2. When I use DHCP static leases on my main router (the only one running DHCP) to map decriptive hostnames onto MACs I see those hostnames in the list of Associated Stations. But if that device migrates to one of the APs I no longer see the hostname on that AP's list of Associated Stations.
How can I set up MAC-hostname mappings so that they propagate to the "Associated Stations" list of the Dumb APs? Otherwise I will have to add the same set of static leases on all 3 Wifi APs.
You could set MAC address to hostname mapping in /etc/ethers of each AP. This way you’ll see the configured client name in the Associated Station section.
root@OpenWrt:~# cat /etc/ethers
# Lookup man 5 ethers for syntax documentation
# Examples :
# 02:00:11:22:33:44 OpenWrt.lan
# 02:00:11:22:33:44 192.168.1.1
I notice that /etc/ethers does not reflect the static leases set through LUCI, so it looks like I would have to add the mappings manually to the ethers file, then copy the ethers file to the dumb APs any time I added a new mapping. Does that sound right?
Is there a more automatic way to do this via DNS that's not more trouble than it's worth?
/etc/ethers worked great. Thanks again Pavel. The only minor issue is that it looks like I have to reload dnsmasq to read in the new file. That's fine on the main router but I have dnsmasq and odhcpd disabled on the DumbAPs, so I've been reloading dnsmasq then stopping and disabling it again. I guess I can script the process from the main router to push the ethers file and restart (then stop and disable) on the DumpAPs.
I am not sure why you have to do that. For my DumbAps I use custom build without dnsmasq and odhcpd installed. I just use scp to copy the ethers file to all APs and the names are resolved locally by each device.