Support for roaming systems / internet facing clients

Support for roaming systems / internet facing clients

What is the recommended method to support end user machines that sometimes come into the office and sometimes reside on the internet? My background comes from System Center Config Manager where it automatically determines where the system is internally based on AD site or subnet and ALSO determines if it's on the internet so it can use a a public DNS name to connect to internal servers. 

Specifically, how do I support systems that can frequently move between internal and external (internet) networks. Using the same DNS name externally is not an option. 

Secondly, what is the thought process behind requiring a specific client per office (central office, remote offices) - Why can't one agent just determine where it's at by subnet boundaries and use a locally appropriate distribution point? We have people that migrate from office to office on a daily basis and can't really install only one agent that was designated for one specific remote office. 
              New to ADManager Plus?

                New to ADSelfService Plus?