The only thing I can think of is that Linux handles its DNS client settings differently than Windows.
I should have posed this as a question, thanks all for clearing that up for me though.
JBI, concerning the router; I'm not quite sure it's a true DNS Server. I just know it's acting as my DHCP assigned DNS. I have Tomato's DNS caching setting turned on so it's caching DNS entries from my ISP's DNS. The clients are all set to use the router as their DNS source. My Ubuntu server shows up in the routers Device list along with it's leased IP address. I can successfully nslookup the server by name, I just can't ping it by name from Windows (but I CAN from Linux based systems).
As I understand it, this is par for the course. On my clients -- Linux, XP and Vista -- they all show my router as the name server instead of the ISP's name server. I haven't been bothered enough to find out why it would work that way, I've just been satisfied to know that it works.
No I do not have Samba installed, not yet anyway. I started with a default server with no extra packages to try to get the hand of the bash terminal and Linux in general.
If I install Samba and that resolves the problem, will that most likely prove is to be a NetBIOS issue? I just think it's strange that I can successfully resolve the server hostname but can't ping it. I'll try to flush the cache tonight and test again before I install Samba.
Also, if it matters, the Ubuntu server is running in VirtualBox, to rule out any shared network card oddities I did my ping testing from another system.
Thanks for the replies guys!
What I'm thinking is that you do not have a true DNS server running on your router. The router is just forwarding the DNS requests to the ISP's name server. Normal operation. Now, I have no experience with your router or the firmware that it is running. So, it is entirely possible that I could be wrong on this. It may cache entries, but that won't do any good for your local network as none of the machines will have a globally unique address and won't be registered with your ISP's name servers in the first place.
My theory is that the reason you're able to reach the Linux server using its host name from your Linux client is because of how IPv6 operates. One feature of IPv6 is neighbor discovery, in which every machine within one hop is a neighbor, and it also grabs the machine host names. So, your Windows client may not be running IPv6, which would leave IPv4. IPv4 does not have neighbor discovery, so it will not automatically grab host names. This could be the actual "problem" you're having. "Why is 'problem' in quotes?", I hear you ask. Because everything is working just as it should, so there really isn't a problem to be fixed.
Now, I'm guessing since your asking about this, you're like everyone else and would rather type in a name rather than an IP address. You'll have to edit the hosts
file on your Windows client to do this.
# Copyright (c) 1993-1999 Microsoft Corp.
# This is a sample HOSTS file used by Microsoft TCP/IP for Windows.
# This file contains the mappings of IP addresses to host names. Each
# entry should be kept on an individual line. The IP address should
# be placed in the first column followed by the corresponding host name.
# The IP address and the host name should be separated by at least one
# Additionally, comments (such as these) may be inserted on individual
# lines or following the machine name denoted by a '#' symbol.
# For example:
# 220.127.116.11 rhino.acme.com # source server
# 18.104.22.168 x.acme.com # x client host
with the IPv4 address and host name of your server. This should do the trick.