I nomi host ARP sono diversi dai nomi NetBIOS.
Windows si basa sui nomi NetBIOS mentre Linux si basa sui nomi host.
Il tuo router riceve i nomi host tramite ARP / DHCP; sì, anche Windows ha nomi host.
Devi fare in modo che il tuo router ospiti i nomi host nel suo DNS o dovrai modificare tutti i file hosts.
Se il tuo router non lo supporta, potresti provare a installare DD-WRT
sul tuo router e usando dnsmasq
insieme a un hosts
file in cui inserirai gli hosts. Ritengo che sia praticamente una soluzione, vuoi davvero farlo solo per poter eseguire il ping? Non un'attività quotidiana al computer...
Conosco il tuo dolore, è assolutamente assurdo che nel 2011 i nomi host non "funzionino" appena fuori dagli schemi.
Un'altra opzione è Bonjour. È una tecnologia Apple, ma ci sono implementazioni per Linux (Avahi) e Windows (Bonjour per Windows). Bonjour ti consente di accedere ad altri computer utilizzando la sintassi:
<hostname>.local
Sono andato con questa soluzione, perché non ho un router compatibile con DD-WRT o un server sempre attivo per eseguire DNS. Inoltre, una volta configurato, non devi preoccuparti se un IP cambia, come con un file hosts.
Hai bisogno di un server per la risoluzione dei nomi di qualche tipo.
Per prima cosa imposta un server DNS che accetti aggiornamenti dinamici su una macchina che ha un IP statico. BIND è la scelta ovvia (si installa su Windows e Linux) ma ci sono altre versioni di Linux che funzionano altrettanto bene come DJBDNS ecc... Il tuo server DNS dovrà inoltrare le richieste al server DNS del tuo ISP o a qualche altro server DNS pubblico . Un buon nome di dominio che dovrebbe essere abbastanza sicuro da usare è "home.internal" Non c'è bisogno di registrarlo e non è un dominio pubblico... Questa macchina su cui hai impostato il DNS dovrà essere sempre attiva...
Una volta configurato, chiedi al server DHCP del tuo reouter di distribuire l'IP del server DNS che hai appena configurato.