Use name instead of IP address for home network

Solution 1:

this can be done without a DNS server using the broadcast names (the machines name) so you could type http://mypc/ from within your network

Majority of routers have DHCP and their own DNS servers so you most likely have a DNS server already.

Solution 2:

For "most clients", you can avoid using a DNS server setup, by using mDNS, which is used for names advertised by machines on the network. Think P2P. Very little security, so a name can be spoofed, but MacOSX and most consumer *nix flavours will support it out of the box. If you call the server "fred" then it can be reached as "fred.local", and you can even put "local" in your DNS search path, which any home router will support doing.

Apple call it Bonjour, and they have a Windows version. On Linux, the most common implementation is Avahi.

I doubt mDNS will work with a Wii, it should work with an iPod.

The more reliable approach is to use regular DNS, but if you're using a regular consumer home router then it probably does not support delegating a domain to your control, so you'll need to switch from using the DNS service of the router to another DNS server on your network. That DNS traffic will then have to pass through the NAT (assuming that you're using NAT, but your IP address examples imply you are), which will probably undo any security and increase the state association load on the router -- for cheap routers, this could be problematic.

IF you have a Linux/BSD-based Router, then things improve, as you can probably put stuff into a DNS service on the Router. For instance, many such things use dnsmasq, which makes this very easy. So the most reliable approach may be to install something like dd-wrt on your Router and then configure entries for hostnames to IP addresses in that.

Solution 3:

If the machines on you LAN run a modern operating system, then you just have to type

http://machine_name.local

to access it. don't forget the .local suffix.

To get the name from the IP, use

avahi-resolve-address IP

Solution 4:

Yes, you have to change the hosts file on each computer.

Alternatively, you can run your own DNS server, but you also need to change the DNS settings on each computer.

Do you suggest any new way of doing this?