Suppose I own the domain example.com and control its DNS server. (To be clear, I do not own example.com.)
I just recently (about an hour ago) updated the dns for a.example.com to point at the IP address of a Linode that I am renting. Note that a.example.com previously did not point at anything.
Now, on localhost, I try the command ping a.example.com and get the error unknown host a.example.com. This is suprising to me, because I had just pointed the subdomain and I do not expect there to be cache of the domain already in the recursive resolver at any level. More specifically, I would expect one of the recursive resolvers upstream of me to query the authoritative nameserver (which I just configured), and discover the correct IP Address.
As an additional experiment, I tried the same command ping a.example.com from a different virtual server in Digital Ocean's cloud, and it resolved to the correct IP address.
Why are some reasons that localhost might fail to see the new DNS entry?
How might I force localhost to see the DNS entry for the subdomain?
Note that I am using Google DNS and running Ubuntu 14.04 on localhost.
foo.comis a real domain owned by a real organisation you might want to choose a different one.example.comperhaps?