servidors secundaris
servidor secundari #
- Els servidors esclaus tenen una copia de les dades de la zona (BD) que es va recuperant cada cert temps.
- Són autoritat i, per tant, responen autoritativament.
Configuració de transferència de zona #
- Editar servidor primari afegit allow-transfer
zone "acme.com" {
type master;
file "/etc/bind/db.acme.com";
// IP dels servidors esclaus
allow-transfer {
192.168.0.2; // Servidor secundari
192.168.0.3; // Si en tenim altres servidors secundaris
};
};
- Editar fitxer de zona db.acme.com per canviar el paràmetres
paràmetre SOA | Descripció |
---|---|
serial | Indica quina versió del fitxer tenim. Es recomana fer servir un indicador horari tipus AAMMDDHHMM. Si la versió del serial que té el secundari és igual o major que la que envia el primari no es fa l'actualització |
refresh | indica cada quan segons el servidor secundari demana refrescar la zona |
retry | indica cada quans segons es torna intentar refrescar la BD en cas que falli el refresc |
expire | indica en quin moment es defineix la BD com obsoleta després de múltiples fallides de retry |
negative cache ttl | indica quan de temps es guarda a la caché les respostes negatives |
- Exemple
@ IN SOA nomaresoldre. postmaster.nomaresoldre. (
2 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
604800 ) ; Negative Cache TTL
- A la zona slave (servidor secundari):
zone "acme.com" {
type slave;
file "db.acme.com"; // Noteu que NO es posa la ruta al fitxer
// IP address del servidor primari
masters { 192.168.0.1; };
};
- Si es vol forçar la transferència de zona
- En cas que no et vulguis esperar a que es faci la transferència pots forçar-la d'aquesta manera
rndc reload acme.com
- o amb
rndc retransfer acme.com
Esquema resum #
graph TD
inici[Secundari reb una transferencia] --> verificarserial
verificarserial{El serial rebut > el que ja tinc} --> |SI| act[Actualitzar les dades del secundari]
act[Actualitzar les dades del secundari] --> refresh
verificarserial{El serial rebut > el que ja tinc} --> |NO| descartar[Descartar les noves dades]
descartar[Descartar les noves dades] --> refresh
refresh{Ha passat el temps de refresc} -->|NO| refresh{Ha passat el temps de refresc} -->|SI|refrescar
refrescar[Refrescar la zona enviant una petició al primari] --> pregrefrescar
pregrefrescar{El servidor primari envia resposta?} --> |no| esperarretry{Ha passat el temps de retry?}
esperarretry{Ha passat el temps de retry?} --> |NO| refresh{Ha passat el temps de refresc}
esperarretry{Ha passat el temps de retry?} --> |SI| secund
secund{Ha caducat la BD?} -->|si| caduc[deixar d'oferir la zona]
secund{Ha caducat la BD?} -->|no| refrescar
pregrefrescar{El servidor primari envia resposta?} --> |si| inici[Secundari reb una transferencia]