Sounds like your internet provider must blocking access to the root name servers. They obviously don't block access to their own resolvers, and they probably exempt a couple of other popular external resolvers like Google Public DNS, but might block all
domain-port access otherwise.
Is this common? It depends. I think it's relatively common for such blocks to be present on university and corporate networks, but I would say it's not supposed to be a particularly common occurrence with regular residential providers. (Most providers do block outgoing
Why would anyone block external nameservers? This has probably to do with various man-in-the-middle attacks that are possible if legitimate nameservers are substituted for compromised ones. To avoid any such attacks and to reduce user complaints, most providers usually redirect all
domain-port requests to their own servers: when they do so, you can't run your own recursive server anymore or do
dig +trace troubleshooting, but at least you wouldn't have to change your DNS settings otherwise.
Anyhow, indeed there is nothing wrong with your command itself: you're supposed to receive a reply as below, which would make it possible for you to make another request on the manual recursive path to the resolution of the given name.
# dig @b.root-servers.net www.ubuntu.com
; <<>> DiG 9.7.3 <<>> @b.root-servers.net www.ubuntu.com
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 20828
;; flags: qr rd; QUERY: 1, ANSWER: 0, AUTHORITY: 13, ADDITIONAL: 14
;; WARNING: recursion requested but not available
;; QUESTION SECTION:
;www.ubuntu.com. IN A
;; AUTHORITY SECTION:
com. 172800 IN NS g.gtld-servers.net.
com. 172800 IN NS l.gtld-servers.net.
com. 172800 IN NS h.gtld-servers.net.
com. 172800 IN NS c.gtld-servers.net.
com. 172800 IN NS f.gtld-servers.net.
com. 172800 IN NS k.gtld-servers.net.
com. 172800 IN NS e.gtld-servers.net.
com. 172800 IN NS d.gtld-servers.net.
com. 172800 IN NS j.gtld-servers.net.
com. 172800 IN NS m.gtld-servers.net.
com. 172800 IN NS b.gtld-servers.net.
com. 172800 IN NS a.gtld-servers.net.
com. 172800 IN NS i.gtld-servers.net.
;; ADDITIONAL SECTION:
a.gtld-servers.net. 172800 IN A 22.214.171.124
b.gtld-servers.net. 172800 IN A 126.96.36.199
c.gtld-servers.net. 172800 IN A 188.8.131.52
d.gtld-servers.net. 172800 IN A 184.108.40.206
e.gtld-servers.net. 172800 IN A 220.127.116.11
f.gtld-servers.net. 172800 IN A 18.104.22.168
g.gtld-servers.net. 172800 IN A 22.214.171.124
h.gtld-servers.net. 172800 IN A 126.96.36.199
i.gtld-servers.net. 172800 IN A 188.8.131.52
j.gtld-servers.net. 172800 IN A 184.108.40.206
k.gtld-servers.net. 172800 IN A 220.127.116.11
l.gtld-servers.net. 172800 IN A 18.104.22.168
m.gtld-servers.net. 172800 IN A 22.214.171.124
a.gtld-servers.net. 172800 IN AAAA 2001:503:a83e::2:30
;; Query time: 12 msec
;; SERVER: 126.96.36.199#53(188.8.131.52)
;; WHEN: Sat Jan 12 22:52:12 2013
;; MSG SIZE rcvd: 492