From Fedora Project Wiki

Revision as of 18:40, 13 June 2010 by Mmcgrath (talk | contribs)

Infrastructure InfrastructureTeamN1.png

We have two DNS server, the primary is at and is hosted at ServerBeach, from there it replicates to

Contact Information

Owner: Fedora Infrastructure Team

Contact: #fedora-admin, sysadmin-main

Location: ServerBeach and ibiblio


Purpose: Provides DNS to our users

Troubleshooting, Resolution and Maintenance

DNS update

DNS config files are puppet managed on puppet1. The update is standard to the puppet configs at

From puppet1:

git clone /git/puppet
cd puppet/modules/bind/files/master
vi # Don't forget to increment the serial!
cd ../..
git commit -m "What you did"
git push

It should update within a half hour. You can test the new configs with dig:


Adding a new zone

First name the zone and generate new set of keys for it. Run this on ns1. Note it could take SEVERAL minutes to run:

/usr/sbin/dnssec-keygen -a RSASHA1 -b 1024 -n ZONE ; /usr/sbin/dnssec-keygen -a RSASHA1 -b 2048 -n ZONE -f KSK

Then copy the created .key and .private files to the private git repo (You need to be sysadmin-main to do this). The directory is private/private/dnssec.

Once that is done you can add the new zone to the puppet/modules/bind/files/master/ directory. Then add the new zone to puppet/modules/bind/files/zones.conf. Note: If you're adding a new geodns zone, you need to do that directly in the named.conf file, not zones.conf.


In order to make the network more transparent to the admins we do a lot of search based relative names. Below is a list of what a resolv.conf should look like.

Any machine that is not on our vpn or has not yet joined the vpn should _NOT_ have the search until after it has been added to the vpn (if it ever does)





The idea here is that we can, when need be, setup local domains to contact instead of having to go over the VPN directly but still have sane configs. For example if we tell the proxy server to hit "app1" and that box is in PHX, it will go directly to app1, if its not, it will go over the vpn to app1.