Like most organizations, we maintain various split domains for a verity of reasons. Due to what we do, we frequently use the same name in different instances of the domain to point to different versions of things and this is a requirement for us to maintain. What has come up more recently, is that this is becoming a barrier for access between the splits. In the simplest case, we want to to be able to provide internal users access to example.com, which exists both internally and externally.
We'd like to be able to access the internal version as example.com and the external version as ext.example.com. We have access to transfer the external zone to our internal BIND server from an external provider.
I've configured a view in the BIND server with none for client-matches so that all it does is preform the zone transfer for the zone. I've then tried to use the same file in the "internal" view as a master under the name ext.mypna.com. When this is done, all of the records are invalidated by bind as "out-of-zone data".
Sifting through the zone file on the internal server vs the external provider, i found that the zone transfered was marked up with "$ORGIN external.com" and "external.com IN SOA". Reverting these to @ allows BIND to use the zone file again, but it just gets trashed after an update.
Is there a standard way to implement this kind of architecture?