When you install DNS Server role in Windows environment, you will be able to create new zones in either Forward or Reverse Lookup Zones. These two zones serves a different purpose. The first one and the most commonly implemented is Forward Lookup Zones, where translations of a hostname string to IP address is performed. The second one is Reverse Lookup Zones where it does the opposite of the former. Understanding Forward and Reverse Lookup Zones in DNS is the key to successful configuration and helps ensure proper implementation of a DNS server.
Understanding Forward and Reverse Lookup Zones in DNS
It is important to understand how DNS records are stored before understanding Forward and Reverse Lookup Zones in DNS. The table below shows an example of how records being stored in a DNS server:
On the above table, we can see that DNS server stores record containing a hostname string value under column “Name” along with its associated IP address value under column “Data“.
When a DNS query comes from the client, DNS server works by looking up the hostname string value on column “Name” then returns the IP address value on column “Data” as the answer to the query. This process can be illustrated using the below figure:
So for example client asks “What is IP address for AS-DCO001.mustbegeek.com?” on its query. The DNS server then lookup at the value on column “Data” where “Name” value equals to AS-DCO001.mustbegeek.com, and this resulting in address 192.168.0.7 as the answer. The process of finding an IP address based on the hostname in DNS is called forward lookup.
Now the problem comes when it is required to find out the hostname based on the IP address, for example the client asks “What hostname is using IP address 192.168.0.7?“. Unfortunately, it is a limitation by design that DNS server cannot just lookup at the value on “Data” column to find the associated “Name” value. For this purpose, another record should be created in the table where IP address value is stored under “Name” column and the hostname string is stored under “Data” column. The updated table for this purpose is shown below:
With this way, DNS server can now answer the above client query by selecting the value under “Data” column where “Name” value equals to 192.168.0.7, as illustrated in the below figure:
The lookup resulting in AS-DCO001.mustbegeek.com as the answer. Now this process of finding hostname based on the IP address in DNS is called reverse lookup.
Forward and Reverse Lookup Zones in Windows DNS Server
The above examples shows DNS lookup process in general. If you install DNS Server role in Windows Server 2012 R2, it will split the table used for forward lookup and reverse lookup, and that’s why you will see both Forward Lookup Zones and Reverse Lookup Zones in the DNS Manager.
In conclusion, Forward Lookup Zones contains zones where forward lookup is performed. In other words, the zones in Forward Lookup Zones stores hostname string under column “Name” and IP address under column “Data”. For example, the zone mustbegeek.com below is a Forward Lookup Zone:
On the opposite, Reverse Lookup Zones contains zones where reverse lookup is performed. In other words, the zones in Reverse Lookup Zones stores IP address under column “Name” and hostname string under column “Data”. A reverse lookup zone usually has name format x.x.x.in-addr.arpa, where x.x.x is the first three octets of the IP address in reversed order. For example, the zone 0.168.192.in-addr.arpa below is a Reverse Lookup Zone:
Usually, implementing a Forward Lookup Zone is enough. But sometimes there are some applications that requires Reverse Lookup Zone. Having a Reverse Lookup Zone in the network also sometime helps troubleshooting process. Therefore, understanding forward and reverse lookup zones in DNS is important.