BIND se puede configurar como maestro o esclavo para atender la solicitud de DNS para cada zona. Cuando el BIND está configurado como esclavo, obtiene la copia de los datos de zona del servidor maestro mediante el método de transferencia de zona.
En la publicación anterior, habíamos configurado el servidor DNS en CentOS 7, que actuará como fuente para el servidor esclavo.
Nombre de dominio:itzgeek.local |
principal.itzgeek.local | 192.168.1.10 | Servidor DNS maestro |
secundario.itzgeek.local | 192.168.1.20 | Servidor DNS esclavo |
En esto, tenemos dos servidores llamados primario y secundario. El principal ya se configuró como maestro para el dominio itzgeek.local.
Ahora configuraremos el secundario como un servidor DNS esclavo para itzgeek.local.
En el servidor maestro
Configure BIND en el servidor maestro para permitir la transferencia de zona a un servidor secundario, edite el archivo /etc/named.conf en primary.itzgeek.local.
vi /etc/named.conf
Agregue la siguiente entrada en el archivo. Los servidores que se mencionan en allow-transfer podrán transferir zonas desde el servidor maestro.
options {
. . .
allow-transfer { 192.168.1.20; };
also-notify { 192.168.1.20; };
. . .
}
Agregue la información de su servidor DNS secundario en el archivo de búsqueda directa en primary.itzgeek.local.
vi /var/named/fwd.itzgeek.local.db
Los registros se verán como a continuación.
@ IN SOA primary.itzgeek.local. root.itzgeek.local. (
1002 ;Serial
3H ;Refresh
15M ;Retry
1W ;Expire
1D ;Minimum TTL
)
;Name Server Information
@ IN NS primary.itzgeek.local.
;Secondary Name server
@ IN NS secondary.itzgeek.local.
;IP address of Primary Name Server
primary IN A 192.168.1.10
;IP address of Secondary Name Server
secondary IN A 192.168.1.20
;Mail exchanger
itzgeek.local. IN MX 10 mail.itzgeek.local.
;A - Record HostName To IP Address
www IN A 192.168.1.100
mail IN A 192.168.1.150
;CNAME record
ftp IN CNAME www.itgeek.local.
Reinicie el servicio BIND.
systemctl restart named
Agregue una regla de permiso en el firewall para permitir la transferencia de zonas desde el servidor maestro.
firewall-cmd --permanent --add-port=53/tcp
firewall-cmd --reload
En servidor esclavo
Es el momento de agregar una declaración de zona esclava en el servidor secundario, asegúrese de instalar los siguientes paquetes en el servidor secundario.
yum -y install bind bind-utils
Edite /etc/named.conf expediente. Comente la siguiente línea para permitir que BIND escuche en todas las interfaces.
// listen-on port 53 { 127.0.0.1; };
// listen-on-v6 port 53 { ::1; };
Agregue su red en la siguiente línea. He añadido 192.168.1.0/24 para permitir que los clientes de la red 192.168.1.0/24 puedan consultar el DNS para la traducción del nombre a IP.
options {
. . .
allow-query { localhost; 192.168.1.0/24; };
. . .
}
Agregue la zona esclava como se muestra a continuación.
zone "itzgeek.local" IN {
type slave;
masters { 192.168.1.10; };
file "slaves/fwd.itzgeek.local.db";
};
zone "1.168.192.in-addr.arpa" IN {
type slave;
masters { 192.168.1.10; };
file "slaves/1.168.192.db";
};
itzgeek.local – Nombre de dominio
esclavo – DNS secundario
fwd.itzgeek.local.db y 1.168.192.db – Archivo esclavo de búsqueda directa e inversa
Reinicie el servicio BIND en secundario.itzgeek.local
systemctl restart named
Agregue una regla de permiso en el firewall para que los clientes puedan conectarse al servidor DNS para la resolución de nombres.
firewall-cmd --permanent --add-port=53/udp
firewall-cmd --reload
Verifique la búsqueda de www.itzgeek.local usando secundario.itzgeek.local (192.168.1.20)
[root@client ~]# dig @192.168.1.20 www.itzgeek.local
Salida:
; <<>> DiG 9.9.4-RedHat-9.9.4-74.el7_6.1 <<>> @192.168.1.20 www.itzgeek.local
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 5314
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 3
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;www.itzgeek.local. IN A
;; ANSWER SECTION:
www.itzgeek.local. 604800 IN A 192.168.1.100
;; AUTHORITY SECTION:
itzgeek.local. 604800 IN NS secondary.itzgeek.local.
itzgeek.local. 604800 IN NS primary.itzgeek.local.
;; ADDITIONAL SECTION:
primary.itzgeek.local. 604800 IN A 192.168.1.10
secondary.itzgeek.local. 604800 IN A 192.168.1.20
;; Query time: 0 msec
;; SERVER: 192.168.1.20#53(192.168.1.20)
;; WHEN: Wed Jul 17 21:53:45 IST 2019
;; MSG SIZE rcvd: 140
Actualización de registros
Cada vez que cambie un registro DNS en el servidor maestro, no olvide cambiar el número de serie en el archivo de zona y ejecute el siguiente comando en el servidor maestro para recargar la zona.
Cambie itzgeek.local &1.168.192.in-addr.arpa con sus nombres de zona.
### Forward Zone ###
rndc reload itzgeek.local
### Reverse Zone ###
rndc reload 1.168.192.in-addr.arpa
Conclusión
Eso es todo. Espero que haya aprendido a configurar un servidor DNS esclavo en CentOS 7/RHEL 7.