Welcome to Dirteam.com/ActiveDir.org Blogs Sign in | Join | Help
 
 
in Search

Ace Fekay Blogging

Multihomed DCs with DNS, RRAS, and/or PPPoE adapters


By Ace Fekay, MCT, MCTS Exchange, MCSE, MCSA
First published: January, 2003, updated July, 2006


A Multihomed DC is a domain controller with more than one NIC and/or IP address, and/or RRAS installed on it (for VPN, routing, dialup, etc), or with a PPPoE adapter from your ISP's ADSL line.

Multihomed DCs wiill cause numerous issues. The only exception to the rule are SBS servers, but that is a completely different topic which I will not address in this blogpost.

It's highly recommended to single home all DCs and use a non-DC for the multihoming purposes. If it is the internet gateway, it is recommended to purchase an inexpensive, or cable/DSL router, or even better, a Cisco or similar firewall to perform the task, which if it is compromised by an internet attacker remotely, can't further compromise the rest of the internal network.

Also if attempting to use ICS on a DC, this further complicates matters with DC functionality, and cannot be fixed with the following steps outlined in this article.

To explain why will require a little background on AD and DNS:

First, just to get this out of the way, if you have your ISP's DNS addresses.some other external DNS address, or using your router as a DNS address in your IP configuration (DCs or clients), they must be removed. If these external DNS addresses are used, it's guaranteed to cause additional problems. If not sure what I mean that you can't use a DNS server other than your internal DNS servers, please read the following article for more information:

Active Directory's Reliance on DNS, and using an ISP's DNS address:
http://msmvps.com/blogs/acefekay/archive/2009/08/17/ad-and-its-reliance-on-dns.aspx

If you have a PPPoE adapter installed (such as the WinPoet software from Verizon for ADSL lines), it will cause the same problems, for after all, they are additional interfaces as well.

I usually see errors (GPOs not working, can't find the domain, RPC issues, replication taking a nose dive, dcdiag and replmon errors, etc), when the ISP's or some other non-internal DNS servers are listed on a client, DCs and/or member servers, or with multihomed DCs. If you have an ISP's (or some other outside DNS server or even using your router as a DNS server) DNS addresses in your IP configuration (all DCs, member servers and clients), they need to be REMOVED and ONLY use the internal DNS server(s). Otherwise, expect problems. Surprisingly I've heard of some customers say, "I've been using it for years this way and have never had problems." Consider yourself lucky.

Basically, AD requires DNS. DNS stores AD's resource and service locations in the form of SRV records, hence how everything that is part of the domain will find resources in the domain. If the ISP's DNS is configured in the any of the internal AD member machines' IP properties, (including all client machines and DCs), the machines will be asking the ISP's DNS 'where is the domain controller for my domain?", whenever it needs to perform a function, (such as a logon request, replication request, querying and applying GPOs, etc). Unfortunately, the ISP's DNS does not have that info and they reply with an "I dunno know", and things just fail. Unfortunately, the ISP's (or your router as a DNS server) DNS doesn't have information or records about your internal private AD domain, and they shouldn't have that sort of information.

Also, AD registers certain records in DNS in the form of SRV records that signify AD's resource and service locations. When there are multiple NICs, each NIC registers. IF a client, or another DC queries DNS for this DC, it may get the wrong record. One factor controlling this is Round Robin. If a DC or client on another subnet that the DC is not configured on queries for it, Round Robin will kick in offering one or the other. If the wrong one gets offered, it may not have a route to it. On the other hand, Subnetmask Priortization will ensure a querying client will get an IP that corresponds to the subnet it's on, which will work.

To insure everything works, stick with one NIC.

Since this DC is multi-homed, it requires additional configuration to prevent the public interface addresses from being registered in DNS. This creates a problem for internal clients locating AD to authenticate and find other services and resources such as the Global Catalog, file sharing  and the SYSVOL DFS share and can cause GPO errors with Userenv 1000 events to be logged, authenticating to shares and printers, logging on takes forever, among numerous other issues.

But if you like, there are some registry changes to eliminate the registration of the external NIC or simply use the internal networking routing to allow access.

Another problem is the DC now becomes part of two Sites. This is another issue that can be problematic.

But believe me, it's much easier to just get a separate NAT device or multihome a non-DC then having to alter the DC. If the both NICs are internal, I would suggest to pick a subnet, team the NICs and allow your internal routers handle the traffic between subnets - Good luck!

The following are the manual steps to follow:

  1. Insure that all the NICS only point to your internal DNS server(s) only and none others, such as your ISP’s DNS servers’ IP addresses.
     
  2. In Network & Dialup properties, Advanced Menu item, Advanced Settings, move the internal NIC (the network that AD is on) to the top of the binding order (top of the list).
     
  3. Disable the ability for the outer NIC to register. The procedure, as mentioned, involves identifying the outer NIC’s GUID number.
     
    This link will show you how: 246804 - How to Enable-Disable Windows 2000 Dynamic DNS Registrations (per NIC too): http://support.microsoft.com/?id=246804
     
  4. Disable NetBIOS on the outside NIC. That is performed by choosing to disable NetBIOS in IP Properties, Advanced, and you will find that under the “WINS” tab.
     
    You may want to look at step #3 in the article to show you how to disable NetBIOS on the RRAS interfaces if this is a RRAS server.
    296379 - How to Disable NetBIOS on an Incoming Remote Access Interface [Registry Entry]:
    http://support.microsoft.com/?id=296379 
      
    Note:
    A standard Windows service, called the “Browser service”, provides the list of machines, workgroup and domain names that you see in “My Network Places” (or the legacy term “Network Neighborhood”). The Browser service relies on the NetBIOS service. One major requirement of NetBIOS service is a machine can only have one name to one IP address. It’s sort of a fingerprint. You can’t have two brothers named Darrell. A multihomed machine will cause duplicate name errors on itself because Windows sees itself with the same name in the Browse List (My Network Places), but with different IPs. You can only have one, hence the error generated.
     
  5. Disable the “File and Print Service” and disable the “MS Client Service” on the outer NIC. That is done in NIC properties by unchecking the respective service under the general properties page. If you need these services on the outside NIC (which is unlikely), which allow other machines to connect to your machine for accessing resource on your machine (shared folders, printers, etc.), then you will probably need to keep them enabled.
     
  6. Uncheck “Register this connection” under IP properties, Advanced settings, “DNS” tab.
     
  7. Delete the outer NIC IP address, disable Netlogon registration, and manually create the required records
    1. In DNS under the zone name, (your DNS domain name), delete the outer NIC’s IP references for the “LdapIpAddress”.  If this is a GC, you will need to delete the GC IP record as well (the “GcIpAddress”). To do that, in the DNS console, under the zone name, you will see the _msdcs folder.
        
      Under the _msdcs folder, you will see the _gc folder. To the right, you will see the IP address referencing the GC address. That is called the GcIpAddress. Delete the IP addresses referencing the outer NIC.
      1. To stop these two records from registering that information, use the steps provided in the links below:
        Private Network Interfaces on a Domain Controller Are Registered in DNS
        http://support.microsoft.com/?id=295328 
      2. The one section of the article that disables these records is done with this registry entry:

        HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Netlogon\Parameters
        (Create this Multi-String Value under it):
        Registry value: DnsAvoidRegisterRecords
        Data type: REG_MULTI_SZ
        Values: LdapIpAddress
                    GcIpAddress
         
      3. The following link provides more information on these and other Netlogon Service records:
        Restrict the DNS SRV resource records updated by the Netlogon service [including GC]:
        http://www.microsoft.com/technet/treeview/default.asp?url=/technet/prodtechnol/windowsserver2003/proddocs/standard/sag_dns_pro_no_rr_in_ad.asp 
          
    2. Then you will need to manually create these two records in DNS with the IP addresses that you need for the DC. To create the LdapIpAddress, create a new host under the domain, but leave the “hostname” field blank, and provide the internal IP of the DC, which results in a record that looks like:
      (same as parent) A 192.168.5.200   (192.168.5.200 is used for illustrative purposes)
        
      1. You need to also manually create the GcIpAddress as well, if this is a GC. That would be under the _msdcs._gc SRV record under the zone. It is created in the same fashion as the LdapIpAddress mentioned above.
          
  8. In the DNS console, right click the server name, choose properties, then under the “Interfaces” tab, force it only to listen to the internal NIC’s IP address, and not the IP address of the outer NIC.
      
  9. Since this is also a DNS server, the IPs from all NICs will register, even if you tell it not to in the NIC properties. See this to show you how to stop that behavior (this procedure is for Windows 2000, but will also work for Windows 2003):
     
    275554 - The Host's A Record Is Registered in DNS After You Choose Not to Register the Connection's Address:
    http://support.microsoft.com/?id=275554  
     
  10. If you haven't done so, configure a forwarder. You can use 4.2.2.2 if not sure which DNS to forward to until you've got the DNS address of your ISP.
     
    How to set a forwarder? Good question. Depending on your operating system,choose one of the following articles, depending on your operating system.
     
    300202 - HOW TO: Configure DNS for Internet Access in Windows 2000
    http://support.microsoft.com/?id=300202 
     
    323380 - HOW TO: Configure DNS for Internet Access in Windows Server 2003 (How to configure a forwarder):
    http://support.microsoft.com/d/id?=323380 
     
    Active Directory communication fails on multihomed domain controllers
    http://support.microsoft.com/kb/272294 

 

Some additional reading

More links to read up and understand what is going on:

Published maandag 3 augustus 2009 18:05 by AceFekay
Filed under: , , ,

Comments

 

acefekay said:

--- By Ace Fekay, MCT, MCTS Exchange 2007, MCSE & MCSA 2000 & 2003, MCSA Messaging Microsoft

augustus 17, 2009 17:16
Anonymous comments are disabled

About AceFekay

I've had the pleasure of working in the IT field since the early 1980's with mainframe systems, specifically IBM 4341 and 4361 systems. I was well versed in POWER and JESII, which were the input/output systems for the DOS based mainframes. Keep in mind, DOS in that respect is not the same as PC based DOS. IN the early 1990's, I became involved on the PC side with the i386 based machines. During that time, I was working full time for a stint as a new and used car salesman, but on the side, I had a few computer customers running either Novell and Windows networking. I eventually left the car business to work full time in the computer field in 1993 as a consultant at first then a full time position with a VAR. I was involved originally with Microsoft Mail (WGPO), then Exchange 4.0, 5.0, then became heavily involved with Exchange 5.5. In 1998, I became a Microsoft Certified Trainer (MCT). I still had my consulting business. I was first involved with Active Directory while in the beta stages, then became heavily involved after RTM, as well as with Exchange 2000 after its Gold Code release. Although I've taught Proxy, ISA, MOM, and SMS courses, my teaching fortes became focused around Active Directory, Windows Networking infrastructures, as well as Exchange 2000, subsequently Exchange 2003, Exchange 2007, Windows 2003, and now Windows 2008, all the while retaining my customer base. I've implemented numerous installations from the ground up. I would be called upon from time to time to troubleshoot Active Directory and Exchange problems. I've taught full time until 1996 when I decided to go back into the consulting field working as a consultant for a global pharma with a 5000 user base, 18 Exchange servers, and 6 sites, as an Exchange engineer. I still teach part time as an MCT. My specialities remain in Active Directory, Infrastructure, and Exchange server (all versions) design, implementation and support. Through my training and consulting knowledge, I've accumulated a vast amount of knowledged, learned the ins and outs of Microsoft networking and directory services, Exchange server, and the do's and don't, including best practices. I was also a Microsoft MVP in Directory Services, from 2002 to 2008. This is an honorable award from Microsoft for pro bono work helping in and outside of the communities.
Powered by Community Server (Personal Edition), by Telligent Systems