I am looking for a way to server clients a different IP based on location.

I'm a Casper administrator (Mac management using software by JAMF Software) and manage over 75 distribution servers globally. Mac clients receive software and patches from these 75 distribution server over https. Today, I am scoping individual site subnets to specific server in the Casper admin console. When a client checks in to Casper for any pending policies, the clients IP is evaluated against the Casper servers subnet list and then told which specific distribution server to go get packages from. This method has a lot of overhead because I must update the list of subnets and servers in Casper manually. The company has two private class A subnets which are not super-netable for physical sites and changes constantly. I'm also limited in what network information is available to me because management of the corporate network is outsourced. However I know the product VitalQIP is being used for DHCP/DNS control.

The goal is when a Mac checks in to Casper to get its policies, the Casper server returns something like "distribution.company.com" as the DNS name for the distribution server the client should use. Then when the client looks up the servers IP address, DNS serves the IP of the distribution server closest to the client.

I'm fairly new to DNS and am still researching the subject. Any advise or guidance would be helpful.

Thank you!

for reference, a client downloads software from the distribution server using a http get request with simple password authentication using a link similar to this one: https://server-hostname-01.company.com/CasperShare/Packages/Security%20patch%201.pkg


There are two problems that have to be fixed before any reasonable solution can be implemented:

  1. changes constantly
  2. management of the corporate network is outsourced

Without knowledge of and control over your network(s), there's not much to be done. In a dynamic network environment, you never know where a IP actually is, and therefore what cache is local to it.

Many CDN's use DNS to direct traffic, but they have a pretty good idea where a client is based on address. The other option is anycast -- leveraging routing to have one IP in many locations -- but this requires control of the network.

If there are local DNS servers per site, region, etc., you can approximate both through a local dns zone that points to the local server: "distribution.casper.company.com" with the subdomain (casper) defined, individually, on each local DNS server.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.