We have an internal NAS that provides storage for our Mac and Windows clients. They are on different subnetworks in the building so we have made our NAS a multi-homed DNS entry so that we can use layer 2 switching, which gives us substantial performance improvements. DNS returns the list of the ip addresses to the client and the client picks an entry.
Client queries DNS server for Nas1 and receives from DNS: 172.28.62.151 172.28.50.151 172.28.51.151 172.28.52.151
The client IP is 172.28.62.43. On Windows clients, we can see that the DNS client picks the IP address that is on the same subnet of the client, in this instance, 172.28.62.151. However, on the Mac client, a Wireshark trace shows the client receives the four records back, a connection is made to each IP address and then an IP address is selected. If the IP selected is not on the same subnet then the packets end up being routed, causing a significant performance hit (200mbs vs 800mbs).
My question is how does the Mac determine which IP address to use? Is there a way to configure the dns responder to choose the correct IP address?