Ho due server Bind 9, su macchine Ubuntu 20.04.
Uno di questi è esposto, uno no.
Bind è configurato con 3 viste: Privata, Dominio e Pubblica.
La vista Privata si occupa di risolvere i domini per le richieste che arrivano dalla rete Privata (172.16.0.0/24), quella Dominio per le richieste dalla rete di Dominio (192.168.1.0/24) e Pubblica per le richieste da Internet.
Queste 3 viste sono presenti su entrambi i server.
Sul Primo, quello "esposto", ho necessità di fare in modo di girare alcune richieste al Secondo, perchè il Secondo gestisce delle zone che non voglio far gestire al Primo. Ho quindi configurato i Forward delle zone relative nelle viste relative
codice:
zone "xxxxx.com" {
type forward;
forwarders {
172.16.0.150;
};
};
Ora....se dalla rete Privata faccio query per uno dei domini in forward, mi viene data la risposta giusta: il Primo gira la richiesta al Secondo e risponde con l'ip configurato nella relativa vista del Secondo.
Il problema nasce quando faccio una query dalla rete di Dominio (o dalla Pubblica). Il Primo mi gira la richiesta al Secondo, intercettando giustamente che la richiesta è per la vista Dominio
codice:
queries: info: client @0x7ffa2801c890 192.168.1.4#50315 (xxxxxx.com): view domain: query: xxxxx.com IN A -E(0)DV (172.16.0.100)
solo che il Secondo mi risponde dalla vista Privata, con l'IP Privato
codice:
queries: info: client @0x7f78c8000cd0 172.16.0.100#45766 (xxxxxx.com): view internals: query: xxxxxx.com IN A +E(0)DCK (172.16.0.150)
Il problema è dovuto al fatto che il Primo manda la richiesta "da se stesso" e siccome è nella stessa rete, il Secondo vede la richiesta provenire da Privata.
Come si risolve il problema? Ho cercato ovunque ma non ho trovato soluzione.
La necessità, come detto, è che il Secondo risponda dalla Zona della Vista giusta, cioè se al Primo arriva una richiesta dalla Dominio, deve girare al Secondo che deve rispondere con la zona della vista Dominio