DNS Forwarders with no recursion

As I understand it, Windows DNS has a problem with its recursion (being attacked recently). But if you turn it off, and turn off internet access (forwarders). Is there a way to turn off recursion, and still allow the DNS server to use the root hint servers? 
Other DNS servers?
If, as I suspect, the answer is no.  Is there a way to disable recursion, but still allow certain domains (say domains that I control) to resolve.  As an example;
DomainA.edu is prod
DomainB.edu is test
I don't really care if DomainB can see google, but I do want DomainB too be able to resolve DomainA.  There is no Active Directory or other connection between the domains.
Can I do an import of DomainA or something to that effect (A manual zone transfer say)

Do you have a link that you can share with more information on that attack issue you are referring to? - Thanks.
Or perhaps you are talking about DNS Cache Poisoning?
There are two separate Recurision settings - one under the Advanced tab, and one under Forwarders.
Advanced tab: If you disable the one under Advanced, then your DNS server effectively becomes a Root server and won't recurse at all, meaning it will not use root hints (because it thinks it's one of them), and won't Forward (since that's
a recursion request. This effectively also makes it a content only server where whatever zones it hosts, is all it will resolve for requests.
Forwarders tab: If you disable it under Forwarders, it won't look further if the forwarder(s) fail(s).
You could theoretically set a conditional forwarder to a specific DNS, such as 2.2.2.2 for example, for DomainA.edu, and set the checkbox for no Recursion just for that domain, so it will only send the request to 2.2.2.2, then on 2.2.2.2 is set
to not allow recursion under the Advanced tab.
You could also setup one or two separate DNS servers in your DMZ that are not part of your domain and that have the MaxCacheTTL set to 0 so it won't cache, and have them just use the Roots and host no zones. Then internally, you can forward to
them, which they in turn will resolve external data. This is a secure setup that meets PCI DSS requirements (Payment Card Industy Data Security Standards). I myself work at a university hospital with 27k mailboxes. Without getting into specifics, this is part
of our setup, which meets HIPAA requirements.
Here's a secure setup (not neccessarily what we have in our establishment):
Here's a detailed discussion about Forwarders, recursion, etc:
TechNet thread: "DNS Recursion:"
https://social.technet.microsoft.com/Forums/en-US/24ea1094-0ae4-47b5-9b74-2f77884cce15/dns-recursion
Ace Fekay
MVP, MCT, MCSE 2012, MCITP EA & MCTS Windows 2008/R2, Exchange 2013, 2010 EA & 2007, MCSE & MCSA 2003/2000, MCSA Messaging 2003
Microsoft Certified Trainer
Microsoft MVP - Directory Services
Complete List of Technical Blogs: http://www.delawarecountycomputerconsulting.com/technicalblogs.php
This posting is provided AS-IS with no warranties or guarantees and confers no rights.

Similar Messages

  • DNS Forwarders say unable to resolve. Root Hints timeout during validation.

    I have a Windows Server 2012 Essentials server that has been up and running for a year. The Server is the domain controller with the DNS server role installed. There is only one NIC card used on the network. Today, DNS stopped working. The server and the
    clients can access internet websites if IP addresses are used; otherwise, accessing websites fails. Looking at the DNS properties page on the Forwarders tab, I see that each DNS server listed (which are the DNS servers given to me by my ISP
    provider) says <Unable to resolve>. When I saw that those addresses were not resolving, I added Open DNS IP addresses and I added google's DNS addresses in the DNS forwarders list but they too said <Unable to resolve>.
    I can ping the Open DNS IP addresses, the google DNS IP addresses and the ISP provider's DNS IP addresses. NOTES: 1) I tried unchecking IPv6 on the DNS' server's Ethernet adapter properties; 2) I have done a flushdns; 3) I have verified that
    my DNS services are running; 4) the first DNS on my server's Ethernet adapter properties is the IP address of the DNS server (which is 10.0.0.51) and the second is the loopback (127.0.0.1); 5) the power management on the NIC adapter is disabled; 6) nslookup
    works for 8.8.8.8 but not for www.google.com.
    I removed the Forwarders and tried to use just Root Hints. That didn't make any difference. I went back into DNS Manager->[DNS server name]->right-click properties->select Root Hints tab. I clicked on a.root-servers.net to edit. Under the Validated
    column it says "a timeout occurred during validation". I clicked cancel to back out of everything I was doing.
    As I mentioned, this was all working fine until this morning. Can someone tell my why the Forwarders are unable to resolve? An why the Root Hints timeout during validation?

    Hi,
    It could be a firewall issue. Try to use public DNS server to resolve names,
    nslookup
    server
    IP address of the public DNS server
    www.microsoft.com
    If timeout occurs, it means that firewall or some other similar device block the DNS traffic. Please disable the firewall and try again.
    If issue persists, please try to restart the DNS service.
    If it still doesn’t work after restarting the DNS services, please check if there is any warning or error in the event viewer of DNS servers.
    Best regards.
    Steven Lee
    TechNet Community Support

  • I am having a DNS problem with my computer. My laptop connects to the internet and my skype works normally but when i try to surf the web it says "DNS Look up failed".

    MY PROBLEM
    I am having a DNS problem with my laptop. It connects normally to th e wifi internet but when i try to surf the net it says "DNS Look up failed"
    This problem only occurs when with the internet at my house. whenever i connect elsewhere my computer works normally. My ipod, iphone, tablet and other friends computers work normally when they are connected to my internet. i use dmy neigbours nework a couple of times from my house and it wrks normally.
    Also when i turn my laptop on or off i can browse for a few minutes or seconds before it fails again. My skype works like there is no problem
    WHAT I HAVE TRIED TO RESOLVE IT
    I have tried changing the DNS, i used open DNS and google free DNS and it still didnt make a difference.
    I have rebooted router many times, nothing
    I have changed my home router, nothing
    I backed up my computer, resored everything it to factory setting and put everything back on; still nothing
    Run a diagnostics at 'Best buy' and they say nothing is wrong; but i know there is something wrong with the DNS
    I have tried different "sudo" type of codes on my comupter from stuff i got online and nothign has proved fruitful yet.
    i tried using safari, Google chrome and firefox, all not loading
    WHAT DO I DO TO FIX THIS?

    You are correct.  Syncing should transfer any purchased media, including videos, from your device to your iTunes library provided your computer is authorized for the Apple ID used to make these purchases.  You mentioned that you have uninstalled iTunes before, but if you didn't follow this guide exactly, uninstalling iTunes and all of its components in the order specified, it may not have been successful so you should try again:  Windows XP or Windows Vista/7.

  • Problems with a recursive stack

    Hello!
    I?ve got problems with a recursive stack.
    I?ve got a stack overflow error. Here
    is my push method.
    public void push(Object o)
        StackRekursiv stack = new StackRekursiv();
        stack.top = top;
        stack.rest = rest;
        if(top==null && rest==null)
          rest = stack.rest = new StackRekursiv();
          top = stack.top = o;
        else
          push(rest.top);
          rest = stack.rest = stack;
          top = stack.top = o;
    Thank you for your help!

    [url http://forum.java.sun.com/thread.jsp?forum=31&thread=467503]Cross-post. This is not considered [url http://pjt33.f2g.net/javafaq/posting.html]good etiquette.

  • I need help with this recursion method

         public boolean findTheExit(int row, int col) {
              char[][] array = this.getArray();
              boolean escaped = false;
              System.out.println("row" + " " + row + " " + "col" + " " + col);
              System.out.println(array[row][col]);
              System.out.println("escaped" + " " + escaped);
              if (possible(row, col)){
                   System.out.println("possible:" + " " + possible(row,col));
                   array[row][col] = '.';
              if (checkBorder(row, col)){
                   System.out.println("check border:" + " " + checkBorder(row,col));
                   escaped = true;
              else {
                    System.out.println();
                    escaped = findTheExit(row+1, col);
                    if (escaped == false)
                    escaped = findTheExit(row, col+1);
                    else if (escaped == false)
                    escaped = findTheExit(row-1, col);
                    else if (escaped == false)
                    escaped = findTheExit(row, col-1);
              if (escaped == true)
                   array[row][col] = 'O';
              return escaped;
         }I am having difficulties with this recursion method. What I wanted here is that when :
    if escaped = findTheExit(row+1, col);  I am having trouble with the following statement:
    A base case has been reached, escaped(false) is returned to RP1. The algorithm backtracks to the call where row = 2 and col = 1 and assigns false to escaped.
    How do I fix this code?
    I know what's wrong with my code now, even though that if
    if (possible(row, col))
    [/code[
    returns false then it will go to if (escaped == false)
                   escaped = findTheExit(row, col+1);
    how do I do this?

    Okay I think I got the problem here because I already consult with the instructor, he said that by my code now I am not updating my current array if I change one of the values in a specific row and column into '.' . How do I change this so that I can get an update array. He said to me to erase char[][] array = getArray and replace it with the array instance variable in my class. But I don't have an array instance variable in my class. Below is my full code:
    public class ObstacleCourse implements ObstacleCourseInterface {
         private String file = "";
         public ObstacleCourse(String filename) {
              file = filename;
         public boolean findTheExit(int row, int col) {
              boolean escaped = false;
              //System.out.println("row" + " " + row + " " + "col" + " " + col);
              //System.out.println(array[row][col]);
              //System.out.println("escaped" + " " + escaped);
              if (possible(row, col)){
                   //System.out.println("possible:" + " " + possible(row,col) + "\n");
                   array[row][col] = '.';
                   if (checkBorder(row, col)){
                   escaped = true;
                   else {
                    escaped = findTheExit(row+1, col);
                    if (escaped == false)
                    escaped = findTheExit(row, col+1);
                    else if (escaped == false)
                    escaped = findTheExit(row-1, col);
                    else if (escaped == false)
                    escaped = findTheExit(row, col-1);
              if (escaped == true)
                   array[row][col] = 'O';
              return escaped;
         public char[][] getArray() {
              char[][] result = null;
              try {
                   Scanner s = new Scanner(new File(file));
                   int row = 0;
                   int col = 0;
                   row = s.nextInt();
                   col = s.nextInt();
                   String x = "";
                   result = new char[row][col];
                   s.nextLine();
                   for (int i = 0; i < result.length; i++) {
                        x = s.nextLine();
                        for (int j = 0; j < result.length; j++) {
                             result[i][j] = x.charAt(j);
              } catch (Exception e) {
              return result;
         public int getStartColumn() {
              char[][] result = this.getArray();
              int columns = -1;
              for (int i = 0; i < result.length; i++) {
                   for (int j = 0; j < result[i].length; j++) {
                        if (result[i][j] == 'S')
                             columns = j;
              return columns;
         public int getStartRow() {
              char[][] result = this.getArray();
              int row = -1;
              for (int i = 0; i < result.length; i++) {
                   for (int j = 0; j < result[i].length; j++) {
                        if (result[i][j] == 'S')
                             row = i;
              return row;
         public boolean possible(int row, int col) {
              boolean result = false;
              char[][] array = this.getArray();
              if (array[row][col] != '+' && array[row][col] != '.')
                   result = true;
              return result;
         public String toString() {
              String result = "";
              try {
                   Scanner s = new Scanner(new File(file));
                   s.nextLine();
                   while (s.hasNextLine())
                        result += s.nextLine() + "\n";
              } catch (Exception e) {
              return result;
         public boolean checkBorder(int row, int col) {
              char[][] array = this.getArray();
              boolean result = false;
              int checkRow = 0;
              int checkColumns = 0;
              try {
                   Scanner s = new Scanner(new File(file));
                   checkRow = s.nextInt();
                   checkColumns = s.nextInt();
              } catch (Exception e) {
              if ((row + 1 == checkRow || col + 1 == checkColumns) && array[row][col] != '+')
                   result = true;
              return result;
    I thought that my problem would be not to read the file using the try and catch everytime in the method. How do I do this?? Do I have to create an array instance variable in my class?

  • DNS forwarder with 2 real DNS servers, querying them simultaneously

    DNS forwarder with >2 real DNS servers, querying them simultaneously and ignoring "server can't find" errors
    Hi. When I connect to VPN, my normal DNS isnt queried, and DNS given by VPN answers: "server can't find"
    An extract from 'man resolv.conf'
    If there are multiple servers, the resolver library queries them in the  order  listed.
    I need another logic. All servers should be queried at the same time, and the soonest positive reply should be used.
    The algorithm  used  is to try a name server, and if the query times out, try the next, until out of name servers, then repeat trying all  the  name  servers  until  a  maximum number of etries are made.
    So, if I get "server can't find" error, the next DNS server not queried. I want the DNS forwarder to ignore such answers and wait for replies from other servers.
    What software can do this? Maybe dnsmasq? I plan to add 'nameserver 127.0.0.1' to the top of my resolv.conf and configure my scripts to add other nameservers below.

    All servers should be queried at the same time
    --all-servers
    dnsmasq: ignoring nameserver 127.0.0.1 - local interface
    good.
    How to tell dnsmasq to completely disable dhcp? List all interfaces like this?
    no-dhcp-interface=eth0
    no-dhcp-interface=tun0
    no-dhcp-interface=vboxnet0
    no-dhcp-interface=wlan0

  • External DNS name with Transversal Firewall

    Have have one server RedHat 4.0 with SGD 4.1 with this names in diferrent
    IP:
    server1.company.com (peer dns name)-> IP1
    server2.company.com (Bind in another IP2 with external dns name and
    firewall forewarding in port 443, the customca is server2.company.com)
    Question:
    Can I configure SGD 4.1 to respond with two external dns name with
    firewall forewarding ?
    https://server1.company.com/tarantella
    https://server1.company.com/sgd
    https://server2.company.com/tarantella
    https://server2.company.com/sgd
    The client user can works with two names ?
    Client prefer to choose access with server1 or server2.
    Best Regard�s
    Marcelo Moreira Martins
    [email protected]
    Technical Consultant - Tarantella Systems Engineer
    SE- Systems Engineer - M3 System Integrator.
    Sun Microsystems do Brasil - Authorized Campus Dealer
    +55-51-3333-2644 - Office
    +55-51-9962-6536 - Mobile Phone
    Visit the EduSoft web site: http://www.sun.com/edu/edusoft/

    Marcelo,
    It is possible to have more that one external DNS name. Please see:
    Array Manager - Array - <server> - General - Properties
    In here you can map ip-addresses (of clients) to dns names.
    However, a user will not be able to dynamically choose which server to
    access - the
    server will be selected on the first matching IP pattern.
    Regards
    "Marcelo M. Martins" <[email protected]> wrote in message
    news:dhu1c0$u5m$[email protected]..
    Have have one server RedHat 4.0 with SGD 4.1 with this names in diferrent
    IP:
    server1.company.com (peer dns name)-> IP1
    server2.company.com (Bind in another IP2 with external dns name and
    firewall forewarding in port 443, the customca is server2.company.com)
    Question:
    Can I configure SGD 4.1 to respond with two external dns name with
    firewall forewarding ?
    https://server1.company.com/tarantella
    https://server1.company.com/sgd
    https://server2.company.com/tarantella
    https://server2.company.com/sgd
    The client user can works with two names ?
    Client prefer to choose access with server1 or server2.
    Best Regard�s
    Marcelo Moreira Martins
    [email protected]
    Technical Consultant - Tarantella Systems Engineer
    SE- Systems Engineer - M3 System Integrator.
    Sun Microsystems do Brasil - Authorized Campus Dealer
    +55-51-3333-2644 - Office
    +55-51-9962-6536 - Mobile Phone
    Visit the EduSoft web site: http://www.sun.com/edu/edusoft/

  • DNS Issues with Hyper-V 2012 R2 VDI Pooled Desktop Deployment

    Good afternoon all!
    We are running a POC VDI deployment on a Nutanix system, and I am having a DNS issue. I would appreciate some help trying to figure this out. Two situations that are causing issues that I can see:
    1. VMs go into a saved state if not being used: This in itself is not an issue, and I see it as a way to save resources not being used; however, if a VM is saved for a few days, the DHCP address often gets reassigned. Now if users are connecting, and that
    saved VM with the stale address is called to wake up, the VM is not found.
    2. Recreating the pool after updating the golden image: This is the bigger issue. After a couple days of running smoothly, I was asked by my pilot users to add Firefox. I installed it and recreated all the VMs in the pool. When this happened, they all got
    new IPs, but the old DNS records were not updated. This made the broker unable to find a single VM in the pool. I could not ping a single one.
    Has anybody else run into these DNS issues with a VDI deployment? If so, what did you do to resolve it? If not, have any ideas on what is going on here?
    Thank you in advance!
    Eric

    Hi Eric,
    As per my research, I can say that the default behavior. When we will recreate the VM it will change the IP address dynamically. But from your description it seems the DNS record is not getting update and due to that you can’t find your VM with hostname or
    IP. But for this you can set one option under DNS server with which DNS record can update the new IP address. The option you need to set is “Dynamic updates>Nonsecure and Secure” under general properties in sites. You can check below snap.
    Hope it helps!
    Thanks.
    Dharmesh Solanki
    Please remember to mark the replies as answers if they help and unmark them if they provide no help. If you have feedback for TechNet Support, contact [email protected]

  • Dns issues with one domain (Resolved)

    i'm currently having dns issues with one domain, in that it won't resolve when I use bt's dns servers.
    The domain is owned by a friend in the US who runs his own server for irc, web, and I also have a server that is on his connection, and resolves fine from other machines on different networks, and also resolves fine when I set windows to use the opendns servers, but when it's set to either my routers ip (using bt's dns), or set to automatic (using bt's dns via the homehub), this one domain will not resolve.
    I'm pretty certain it's not a windows issue, as it's a clean install of windows 7 that I did yesterday. I've tried rebooting the homehub, and also flushing my dns on windows, but this has not solved the issue.
    As I say, it resolves fine on other networks, and also when I use the opendns servers, so I know it's definately a dns issue.
    Using bt's dns servers:
    C:\Users\admin>ping chatnsn.com
    Ping request could not find host chatnsn.com. Please check the name and try agai
    n.
    Using opendns:
    C:\Users\admin>ping chatnsn.com
    Pinging chatnsn.com [68.51.24.74] with 32 bytes of data:
    Request timed out.
    Request timed out.
    Request timed out.
    Request timed out.
    Ping statistics for 68.51.24.74:
        Packets: Sent = 4, Received = 0, Lost = 4 (100% loss),
    (The timeouts are normal...he has his router set to not respond to ping requests).
    Has anyone got any ideas on how to sort this out? Preferably without having to phone the helpdesk...lets just say i've done it in the past, and according to the poeple I spoke to in india, I knew nothing about my own systems, and it was a problem at my end...which was not the case, and I proved this several times.
    Edit: This issue appears to have resolved itself, and the domain is now resolving again using the homehub for dns resolution.

    Hi,
    When NSLOOKUP starts, before anything else, it checks the computer's network configuration to determine the IP address of the DNS server that the computer uses.
    Then it does a reverse DNS lookup on that IP address to determine the name of the DNS server.
    If reverse DNS for that IP address is not setup correctly, then NSLOOKUP cannot determine the name associated with the IP address.
    http://support.simpledns.com/kb/a90/nslookup-cant-find-server-name___-default-server-unknown.aspx
    Also refer to:
    How to fix NSLOOKUP Default Server: UnKnown?
    http://www.randika.info/2013/01/how-to-fix-nslookup-default-server.html
    Regards.
    Please remember to mark the replies as answers if they help and unmark them if they provide no help. If you have feedback for TechNet Support, contact [email protected]

  • DNS Forwarders Setup

    I'm just reviewing DNS as it was configure by someone else.  We have 4 DCs all with AD integrated DNS.  One of the DCs is configured with Forwarders to our external ISPs two DNS servers, a rule is also in place in our firewall to allow all DCs
    on to the internet everywhere via port 53 for DNS (not happy with this rule want to lock it down more).  The other 3 DCs are configured with 1 Forwarder pointing to the first DC which points to the external DNS servers.  I can see that this is a
    single point of failure on the part of just one DC is getting external DNS, if that DC goes down external DNS won't work.  Also I'm not that happy about DCs connecting directly to the internet.  Can someone recommend if this is a poor setup and what
    they would do differently.
    Thanks

    I would indeed consider having at least 2 dns servers that forward to the outside dns server(s).
    all other dns servers should contain these 2 servers to forward to.
    opening up port 53 to everywere might make sense if the dns server has to do a recursive lookup (ie if no forwarder is available). It seems the current design was to have that as a fallback on all dc's. It is not need if you have reliable forwarders (ie
    not from one ISP)
    There is not much security impact from opening port 53 from your server towards the internet. the reverse route should be closed (unless you want to host a public zone, but in that case you will have to do more than this for a design ;) )
    MCP/MCSA/MCTS/MCITP

  • Can't get DNS forwarders to work

    Overview: NAT environment. Need DNS to resolve local hosts to LAN addresses and forward all other requests to OpenDNS servers.
    I've searched the forum high and low but can't get my new 10.5 server to resolve external hosts. I used to do this manually in the past by adding the forwarders directive in the named.conf file and never once had a problem. I used the GUI on this new 10.5 box, and when that didn't work I attempted to add it directly to the conf file as well, which didn't work as well.
    Forward and reverse lookups are working fine, but here's what I get when I attempt to resolve a public host:
    nslookup www.apple.com 10.0.0.2
    Server: 10.0.0.2
    Address: 10.0.0.2#53
    ** server can't find www.apple.com: NXDOMAIN
    I did find a post which mentioned that it could possibly be a firewall issue. I've since turned off the firewall on the server, added a mapping for port 53 and even added the server to the DMZ. Nothing seems to work here. Help!

    OK ... I feel stupid.
    I added 10.0.0.0 to the list of networks to accept recursive queries from. When I changed it to 10.0.0.2/24 everything worked as intended. Doh!

  • DNS server with double NAT

    Hi All,
    We are in a process of migrating to a new ISP.
    With the new ISP, we have no options but double NAT (one in Cisco router and one in Firewall).
    In the test environment for the new ISP (double NAT) a desktop behind the firewall getting a dynamic IP address (which includes DNS server 192.168.0.3) resolved an external web site too long, but when I changed the DNS ip address to 8.8.8.8 it resolved quickly
    as normal.
    In the current live production every thing works as expected. 
    Any help/ idea would be appreciated.
    Cheers

    I would agree with Christopher.
    You can also make sure that your DNS servers do not have public DNS IPs set in their IP settings. Instead, public DNS IPs should be set as forwarders. Also, make sure that you use your ISP DNS servers instead of other public DNS servers for external DNS
    resolution.
    For troubleshooting DNS lookups, you can use NSlookup with debug mode for more details. I have started a Wiki about that here: http://social.technet.microsoft.com/wiki/contents/articles/29184.nslookup-for-beginners.aspx
    This posting is provided AS IS with no warranties or guarantees , and confers no rights.
    Ahmed MALEK
    My Website Link
    My Linkedin Profile
    My MVP Profile

  • DNS Forwarders

    Hi I have a question from my boss that I would like a better answer for than what I told him. We have 4 DNS servers across our main Datacenter and one Disaster recovery site. We have forwarders configured on each server for several DNS servers on the Internet.
    The question was asked if there was a reason we do it that way instead of having all DNS requests forwarded to one DNS server and then have only that one configured with forwarders for outside the network. I told him it was mainly for redundancy and if everything
    was going to one server and that one goes down so would the Internet. 
    Are there other reasons this should not be done or maybe I am all wrong and the one server is the correct way to go. Any help is appreciated.
    Thanks,

    I prefer to use the root servers instead of forwarding.  Forwarding just adds another hop when it isn't needed.  Plus, there are privacy concerns when forwarding all internet DNS requests to a third-party DNS server.
    In high security environments, it isn't uncommon to deploy some caching only DNS servers in the perimeter network. Those servers are the only servers allowed to query external DNS servers (such as the root servers).  Then, internal DNS servers forward
    to your caching only servers.
    Brian

  • DNS Forwarders and last MacOS X Built

    Hello,
    I'm using the "forwarders" option in my named.conf file, for speed up my own DNS server. But with the last MacOS X update's (10.4.5 & 10.4.6) this option is not working. My DNS are slow to resolve,...
    Someone have the same issue ?
    Florent

    Hello,
    I'm using the "forwarders" option in my named.conf file, for speed up my own DNS server. But with the last MacOS X update's (10.4.5 & 10.4.6) this option is not working. My DNS are slow to resolve,...
    Someone have the same issue ?
    Florent

  • DNS weirdness with cname lookups

    Good morning,
    Set up:  I have  MacMini Server running 10.6 and three Mac clients (two with Snow Leopard and one with Lion).  All software updates are applied.  Two of the clients are connected with ethernet cable and one is connected over the Airport.  I use the server to provide DHCP for clients but one client uses a manual ip address.  I'm also running DNS with one primary zone for the server (basically).   Forwarder ip addresses are set to 8.8.8.8/8.8.4.4 and recursive queries are accepted from "localnets".  This set up has been in place working for many months.  
    Problem:  Yesterday morning, my wife, using her computer (one of the 10.6 clients), complained that her mail was not coming in.  We use Apple Mail to connect to Gmail using imap.  Mine continued to work fine even though the set up is basically the same but I use the Lion client.  There were not any problems browsing and she could get the mail through the Gmail web site, just not imap. 
    Actions:  Through troubleshooting I determined the problem to be associated with DNS lookups of cname records.  Lookup of gmail-imap.l.google.com works fine, lookup of imap.gmail.com fails.
    Tims-Mac-mini:Programming tim$ dig imap.gmail.com
    ; <<>> DiG 9.7.3-P3 <<>> imap.gmail.com
    ;; global options: +cmd
    ;; connection timed out; no servers could be reached
    =====================
    Tims-Mac-mini:Programming tim$ dig gmail-imap.l.google.com
    ; <<>> DiG 9.7.3-P3 <<>> gmail-imap.l.google.com
    ;; global options: +cmd
    ;; Got answer:
    ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 6239
    ;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 4, ADDITIONAL: 0
    ;; QUESTION SECTION:
    ;gmail-imap.l.google.com.          IN          A
    ;; ANSWER SECTION:
    gmail-imap.l.google.com. 231          IN          A          173.194.77.108
    gmail-imap.l.google.com. 231          IN          A          173.194.77.109
    ;; AUTHORITY SECTION:
    google.com.                    98135          IN          NS          ns1.google.com.
    google.com.                    98135          IN          NS          ns4.google.com.
    google.com.                    98135          IN          NS          ns3.google.com.
    google.com.                    98135          IN          NS          ns2.google.com.
    ;; Query time: 422 msec
    ;; SERVER: <local_DNS_server_ip>#53(<local_DNS_server_ip>)
    ;; WHEN: Sat Apr 28 07:14:17 2012
    ;; MSG SIZE  rcvd: 145
    Initally, this behavior was only on the 10.6 clients but is now also present on the Lion client. 
    I have used dscacheutil to flush the cache on clients and the server multiple times but it doesn't seem to help.
    Yesterday afternoon, I threw up my hands and rebooted the server.  It worked (I thought) so I decided it was a mystery I would not understand. 
    But, the problem returned last night.  A lookup of imap.gmail.com works from the server but not from any of the clients.
    Does anyone know what is going on?  What can I test next?
    Thank you in advance.
    Tim

    It can be the DNS servers your pointing to, normally, I like to go against the SOA for the server to get the correct records..  Take a look here at the DNS for Imap.gmail.com  , as you can see it goes after ns1.google.com as the authority server. It returns two A records, gmail-imap.l.google.com , keep in mind if there are no MX records present then the "A" records are used.
    Of course you can do all these commands with DIG and get the SOA record and then go against that name server, but your right it is a little wierd that something is messed up. It might be a routing issue outside of your control.
    When I go against 8.8.8.8 I get the same response that I get at the site linked in above.
    ; <<>> DiG 9.3.2 <<>> @8.8.8.8 imap.gmail.com A
    ; (1 server found)
    ;; global options:  printcmd
    ;; Got answer:
    ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 4861
    ;; flags: qr rd ra; QUERY: 1, ANSWER: 3, AUTHORITY: 0, ADDITIONAL: 0
    ;; QUESTION SECTION:
    ;imap.gmail.com.               IN     A
    ;; ANSWER SECTION:
    imap.gmail.com.          300     IN     CNAME     gmail-imap.l.google.com.
    gmail-imap.l.google.com. 300     IN     A     173.194.70.109
    gmail-imap.l.google.com. 300     IN     A     173.194.70.108
    ;; Query time: 18 msec
    ;; SERVER: 8.8.8.8#53(8.8.8.8)
    ;; WHEN: Sun Apr 29 23:55:16 2012
    ;; MSG SIZE  rcvd: 98

Maybe you are looking for

  • How can i turn off my apple id if my ipod was stolen

    my ipod was stolen and the person is using it because iwas logged in and now i need to figure out how to erase my apple id so that they cant use it. how can i do this?

  • Problem in Shuttle region in a custom OA framework page

    Hi, We are facing the following problem in a OA framework custom requirement. Urgent help is needed!! Problem Description: 1. We have two shuttle regions in our OA page. One is Organization and next department. 2. The Department shuttle is dependent

  • Problem with PGI

    Hi Folks, I am facing the below problem while doing PGI: "The error message is : Goods Movement: Error Log Account "     " requires an assignment to a CO object" Appreciate for the prompt responses. Thanks Krish

  • Need help with scripting Jumps

    Hi - hope someone can help me. I'm in over my head. I have a long (4 hrs.) commercial video track separated by dozens of markers (placed earlier in FCP). All my menu buttons work fine, but I want to include a button which serves as an "In-Store" demo

  • Oim11g - Best Practice for Logging

    Hello all, want to know  the best practice or common usage of error logging in oim11g. As we know that oim has some sequence to run processes that will end in Java. For the best practice, where and when should I create the log? Should I create log in