For a few days now, I’ve been unable to reach http://de.php.net, not because the site has been down but because of incorrect DNS configuration by de.php.net’s Germany host. When you request a PHP manual page, PHP.net does this trick of geo-locating your IP and redirects you to your closet PHP.net mirror.

If you take a look, de.php.net is actually a CNAME record for php3.globe.de, which is in turn authoritative at ns1.dns-service.net. The problem is ns1.dns-service.net doesn’t have a record for php3.globe.de:

Searching for de.php.net A record at k.root-servers.net [193.0.14.129]: Got referral to d.gtld-servers.net. (zone: net.) [took 48 ms]
Searching for de.php.net A record at d.gtld-servers.net. [192.31.80.30]: Got referral to ns1.easydns.com. (zone: php.net.) [took 42 ms]
Searching for de.php.net A record at ns1.easydns.com. [216.220.40.243]: Got CNAME of php3.globe.de. and referral to m.root-servers.net [took 76 ms]
Searching for php3.globe.de A record at c.root-servers.net [192.33.4.12]: Got referral to C.DE.NET. (zone: de.) [took 36 ms]
Searching for php3.globe.de A record at C.DE.NET. [208.48.81.43]: Got referral to ns1.dns-service.net. (zone: globe.de.) [took 46 ms]
Searching for php3.globe.de A record at ns1.dns-service.net. [212.124.35.10]: Reports that no A records exist. [took 133 ms]
Response: No A records exist for php3.globe.de, and php3.globe.de does not exist. [Neg TTL=86400 seconds] Details: ns1.dns-service.net. (an authoritative nameserver for globe.de.) says that there are no A records for php3.globe.de, and that the hostname php3.globe.de does not exist. The E-mail address in charge of the globe.de. zone is: guardian@globe.de. NOTE: One or more CNAMEs were encountered. de.php.net is really php3.globe.de. 

Normally when the master nameserver is non-functional, DNS queries should fail-over to slave nameservers and pages are served normally. However, in this case the master nameserver is fully functional - it just doesn’t have a record for php3.globe.de. What’s funny is that the secondary nameservers for globe.de, ns2.dns-service.net and ns3.dns-service.net, have the correct A record for php3.globe.de, which means that the servers’ zone serial numbers are off and master->slave propagation isn’t happening correctly.

I’ve easily solved my problem by just adding the correct entry into my local machine’s hosts file, but I shouldn’t have to do this (nor does this fix the problem for everyone else in Germany). This just goes to show that DNS can be complicated and even the pros mess up every once and a while.

Update

It seems to be working today. It took three days after I posted before someone at Globe.de noticed the problem and added the correct DNS entry.