Configurar un dns
El primer paso será configurar una IP estática añadiendo la siguiente configuración al fichero de interfaces:
Y ya tenemos correctamente configurada nuestra IP estática:
servidor@servidor:~$ ifconfig
enp0s3: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.0.100 netmask 255.255.255.0 broadcast 192.168.0.255
inet6 fe80::b0d7:d864:d264:ca1c prefixlen 64 scopeid 0x20<link>
ether 08:00:27:00:5b:a5 txqueuelen 1000 (Ethernet)
RX packets 24 bytes 2529 (2.5 KB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 63 bytes 7774 (7.7 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
Y procedemos a cambiar el nombre de nuestro equipo en /etc/hostname:
/etc/hostname
server
Añadimos las zonas que crearemos más adelante dentro del named.conf.default-zones:
# Nuevas zonas
zone "alvarez.local" {
type master;
file "/etc/bind/db.alvarez.local";
};
zone "0.168.192.in-addr.arpa" {
type master;
file "/etc/bind/db.0.168.192";
};
zone "255.in-addr.arpa" {
type master;
file "/etc/bind/db.255";
};
# Nuevas zonas
zone "alvarez.local" {
type master;
file "/etc/bind/db.alvarez.local";
};
zone "0.168.192.in-addr.arpa" {
type master;
file "/etc/bind/db.0.168.192";
};
Ahora el siguiente paso será abrir el archivo named.conf.options y añadir las siguientes líneas:
options {
directory "/var/cache/bind";
forwarders {
1.1.1.1;
9.9.9.9;
};
dnssec-validation auto;
auth-nxdomain no;
listen-on { any; };
listen-on-v6 { any; };
allow-query{
192.168.0.0/24;
localhost;
};
};
Ahora abrimos el archivo named.conf.options y añadimos las siguientes líneas:
options {
directory "/var/cache/bind";
forwarders {
1.1.1.1;
9.9.9.9;
};
dnssec-validation auto;
auth-nxdomain no;
listen-on { any; };
listen-on-v6 { any; };
allow-query{
192.168.0.0/24;
localhost;
};
};
En la zona de búsqueda directa, añade un registro A llamado servidor con la IP 192.168.0.100, dos registros de tipo A: pc1 y pc2 que tendrán las direcciones IP 192.168.0.30 para el pc1 y la 192.168.0.31 para el pc2, además de un registro de tipo CNAME ‘ftp’ apuntando a servidor, otro registro de tipo NS apuntando al equipo servidor, y un intercambiador de correo MX con prioridad 10 apuntando a servidor. Por lo que editamos el archivo db.alvarez.local:
; Zona para el dominio alvarez.local
$TTL 1D
@ IN SOA alvarez.local. root.alvarez.local. (
1 ; número de serie
604800 ; tiempo de refresco (1 semana)
86400 ; tiempo de reintento (1 día)
2419200 ; tiempo de expiración (4 semanas)
86400 ) ; tiempo de vida en caché (1 día)
@ IN NS servidor.alvarez.local.
@ IN MX 10 servidor.alvarez.local.
servidor IN A 192.168.0.100
pc1 IN A 192.168.0.30
pc2 IN A 192.168.0.31
dns IN CNAME servidor.alvarez.local.
www IN CNAME servidor.alvarez.local.
mail IN CNAME servidor.alvarez.local.
Y ahora abrimos el fichero db.0.168.192 que hemos creado anteriormente y le añadimos lo siguiente:
; Zona inversa para la red 192.168.0.0/24
$TTL 86400
@ IN SOA alvarez.local. root.alvarez.local. (
1 ; número de serie
604800 ; tiempo de refresco (1 semana)
86400 ; tiempo de reintento (1 día)
2419200 ; tiempo de expiración (4 semanas)
86400 ) ; tiempo de vida en caché (1 día)
@ IN NS servidor.alvarez.local.
100 IN PTR servidor.alvarez.local.
30 IN PTR pc1.alvarez.local.
31 IN PTR pc2.alvarez.local.
Por último, si ejecutamos el comando named-checkconf, vemos que no nos muestra ningún error:
named-checkconf
named-checkzone alvarez.local db.alvarez.local
named-checkzone 0.168.192.in-addr.arpa db.0.168.192
Reiniciamos el servicio y comprobamos que se esté ejecutando: Una vez hecho todo lo anterior, verificamos con el comando nmcli dev show | grep DNS los servidores DNS existentes, donde podemos ver el que acabamos de crear:
root@servidor:/etc/bind# nmcli dev show | grep DNS
IP4.DNS[1]: 192.168.0.100
IP4.DNS[2]: 8.8.8.8
root@servidor:/etc/bind#
Por último, editamos el fichero resolv.conf para añadir nuestro servidor DNS:
# Do not edit.
#
# This file might be symlinked as /etc/resolv.conf. If you're looking at
# /etc/resolv.conf and seeing this text, you have followed the symlink.
#
# This is a dynamic resolv.conf file for connecting local clients to the
# internal DNS stub resolver of systemd-resolved. This file lists all
# configured search domains.
#
# Run "resolvectl status" to see details about the uplink DNS servers
# currently in use.
#
# Third party programs should typically not access this file directly, but only
# through the symlink at /etc/resolv.conf. To manage man:resolv.conf(5) in a
# different way, replace this symlink by a static file or a different symlink.
#
# See man:systemd-resolved.service(8) for details about the supported modes of
# operation for /etc/resolv.conf.
nameserver 192.168.0.100
nameserver 8.8.8.8
options edns0 trust-ad
search .