As @Matt already noted, yes, there is slight slowdown. However, there is also solution for that: split DNS. In split-horizon DNS you answer with different records depending on where request comes from. Example configuration for bind9:
view "trusted" {
match-clients { 192.168.1.0/24; }; // our network
recursion yes;
// other view statements as required
zone "mydomain.com" {
type master;
// private zone file including local hosts
file "internal/master.mydomain.com";
};
// add required zones
};
view "badguys" {
match-clients {"any"; }; // all other hosts
// recursion not supported
recursion no;
// other view statements as required
zone "mydomain.com" {
type master;
// public only hosts
file "external/master.mydomain.com";
};
// add required zones
};
(Source)
That way bind will serve internal/master.mydomain.com
to requests coming from your LAN and external/master.mydomain.com
for requests coming from internet. Advantage is that you can use same addresses from both networks, but LAN traffic is not going through your router.