DNS netmask ordering
One customer has two physical locations. Here is following IP setting for both locations:
Location 1 – IP range 10.0.0.0/23 and wpad server is 10.0.0.22
Location 2 – IP range 10.0.2.0/24 and wpad server is 10.0.2.22
When you create two same A records in DNS you get two IP addresses on DNS query. Order of DNS record is changing, because we have Round Robin enabled on our DNS servers. This is default behaviour. Here is some testing with nslookup:
Same results were in both locations. What we wanted to achieve was that we need DNS servers to return IP address 10.0.0.22 in location Location 1 on first place and IP address 10.0.2.22 in location Location 2 on first place. To make it work we need to look on feature called netmask ordering on DNS servers. You can read more here.
Let’s transfer IP addresses in each location into binary:
10.0.0.0/23
00001010.00000000.00000000.00000000 — 00001010.00000000.00000001.11111111
10.0.2.0/24
00001010.00000000.00000010.00000000 — 00001010.00000000.00000010.11111111
Networks in both locations are same to 22 bit from begging. First different bit in 23rd. So we need to change netmask ordering on DNS server to use first 23 bits to compare when returning results to client. It means our netmask ordering has to be set to:
00000000.00000000.00000001.11111111 — 0x000001FF
We need to set it on all DNS server and restart DNS service:
Once we do this on server we can see following result in Location 1:
and following result in Location 2:
So now it’s all set and ready to go.
Have a great day,
Recent Comments