Moving the DHCP/DNS services from a Windows server (Active Directory) to a Linux machine

Solution 1:

The problem you're going to run into is that Active Directory uses DNS to tell client machines where to find various resources, so turning off DNS on the Windows server will eventually stop things that require Active Directory from working. It sounds like it worked for a number of hours because clients had it cached, but then the cache expired.

My suggestion would be to run bind on your Linux server, and make it act as a secondary to your Windows server, and then configure your DHCP server to give out the Linux server as the DNS server clients should be using. That way, your DNS queries are offloaded onto the Linux server whilst retaining the ability to use Active Directory.

You'll need a line in your named.conf (or such) a bit like this:-

zone "ad.internal.company.com"
{
  type slave;
  file "/etc/bind/db.ad.internal.company.com";
  masters { aaa.bbb.ccc.ddd; };
};

Not sure which version of SBS you're on, but for 2003, open up the dnsmgmt console, go to the properties for your active directory domain, and add your Linux server as a nameserver on the Name Servers tab. You'll also want to make sure Allow zone transfers is ticked on the Zone Transfers tab, along with Only to servers listed on the Name Servers tab. Additionally, you'll want to make sure that when you click Notify... (also on the Zone Transfers tab), that Automatically notify and Servers listed on the Name Servers tab are selected.

Reload (or restart) bind on your Linux server, and keep an eye on the logs, and you should see bind requesting a copy of the zonefile from the Windows server. To make sure everything's working, try making an addition to the zonefile on the Windows server and make it's propagated to bind on the Linux server.

Hope that helps!