diff --git a/src/resolve/resolved-link.c b/src/resolve/resolved-link.c index a0eedd86d3..ccce2fdb43 100644 --- a/src/resolve/resolved-link.c +++ b/src/resolve/resolved-link.c @@ -115,6 +115,11 @@ void link_allocate_scopes(Link *l) { dns_server_reset_features_all(l->manager->fallback_dns_servers); dns_server_reset_features_all(l->manager->dns_servers); + + /* Also, flush the global unicast scope, to deal with split horizon setups, where talking through one + * interface reveals different DNS zones than through others. */ + if (l->manager->unicast_scope) + dns_cache_flush(&l->manager->unicast_scope->cache); } /* And now, allocate all scopes that makes sense now if we didn't have them yet, and drop those which we don't