Ho impostato un server DNS su SLES10 (attualmente associare 9.6) su un server multihomed. Questo server può essere interrogato da tutte le reti interne e fornisce risposte per tutte le reti interne. Abbiamo due zone "master" DNS separate. Ognuna di queste zone è servita da un numero di server DNS-Windows autorevoli.
Ora il mio server Linux è un server DNS secondario per una di queste zone (zona interna privata) e funge da server d'inoltro per l'altra zona (zona interna pubblica).
Fino a poco tempo fa questa configurazione funzionava senza problemi. Ora ricevo - dopo aver interrogato la zona interna pubblica (ad es. Tramite il host
comando su un client Linux) il messaggio di errore
;; Troncato, nuovo tentativo in modalità TCP
un dump di wirehark ha rivelato la causa di ciò: la prima query esce in modalità UDP, la risposta non rientra in UDP (a causa dell'elenco lungo di NS autorevole), quindi viene ritentata in modalità TCP, fornendo la risposta giusta.
Ora la domanda: posso configurare il mio bind per interrogare i server d'inoltro in modalità TCP senza prima provare UDP?
Aggiornamento: provando la mia mano su ASCII-art ...
+--------------+ +--------------+ +-----------------+
| W2K8R2 DNS | | SLES 10 DNS | | W2K8R2 DNS |
| Zone private +---+ All internal +---+ Zone public |
| internal 2x | | Zones | | internal 30+ x |
+--------------+ +-+----------+-+ +-----------------+
| |
+--+---+ +--+---+
|Client| |Client|
+------+ +------+
host
comando e quale query viene inviata.
minimal-responses: yes
alla configurazione BIND su SLES 10 - potrebbe ridurre le dimensioni della risposta. In ogni caso, le query più normali non supereranno il limite di 512 byte.