On my Debian server, the hostname is set to "debian." When I tried to ping debian from another Linux machine, it says "ping: cannot resolve debian: Unknown host." When trying to ping to any other servers, it's able to resolve for ip and ping successfully. What's wrong?
Windows networking has kind of spoiled people on how networks are supposed to work.
Windows machines all run (by default, anyway) a name resolution service as part of SMB. This starts to be a confusion when non-windows components are added to the network, and they "don't act predictably".
Additionally some components, being designed with the knowledge that some things won't act windowsy (for lack of a better word) include "features" to "encourage things to just work". These features just make more ambiguous how the network is actually working.
There are a couple solutions:
Basically, it all comes down to knowing and mastering your local network. Windows made a little too much of network administration too easy for too long, and it has unfortunately led to a lot of incorrect assumptions about how networks work.