How can I get my home machines to connect to each other via hostname?
Solution 1:
You have multiple choices to achive this.
Your Linksys router will probably be a DNS proxy to be queried by your local computers for adress resolution from the internet, but not for the local name resolution. You'll probably have the chance to use another image on your router like DD-WRT or something like that, that ships with an DNS-Server for the local net.
Choose one of your machines to be the local DNS-Server, but that requires that machine to run 24/7.
Edit the hosts file on each machine. That will only work if you use static adresses at home, or never expiring leases on your linksys router.
Use Zeroconf, Bonjour or whatever implementation you like to achive this.
Solution 2:
To achieve this on my local network I install Apple's Bonjour for Windows on all my windows machines and Avahi on all my linux machines (if it's not on there already, it often is). Then I can access each machine in the Zeroconf ".local" domain. So if a given machine's hostname's "Stan" or "Cartman", I can access those machines at stan.local
and cartman.local
Solution 3:
The easiest solution that I have found is to install Tomato. DD-WRT probably works too. If you're also planning on forwarding ports and stuff like that, then you also want to look in the "Static DHCP" section, where you cna instruct your router to always give the same computers the same IP addresses.
Edit: Hopefully you purchased a linux-compatible Linksys router, or else this won't work.