Para instalar el servidor de DNS, escribimos la siguiente orden.
#yum -y install bind bind-chroot bind-utilsEjecutamos lo siguiente:
#rndc-confgen -a -r /dev/urandom -b 512 -c /etc/rndc.key
Cambiamos las pertenencias para que este archivo sea propiedad del usuario y grupo named:
#chown named:named /etc/rndc.key
Aseguramos que los permisos de acceso sean lectura y escritura para usuario, sólo lectura para grupo y nada para otros, es decir un permiso 640 (rw-r-----):
#chmod 640 /etc/rndc.key
Cambiamos hacia el directorio /var/named:
#cd /var/named
Y creamos un script (script1.sh) dentro del directorio con las siguientes líneas:
for f in named.* data dynamic slaves
do
mv $f ./chroot/var/named/
ln -s /var/named/chroot/var/named/$f ./
done
Le pondremos permisos de ejecución al script y lo ejecutamos:
#chmod 650 /var/named/script1.sh
#./script1.sh
Cambiamos hacia el directorio /etc:
#cd /etc
Creamos otro script (script2.sh) dentro del directorio /etc con las siguientes líneas:
for f in named.* rndc.key
do
mv $f ./var/named/chroot/etc/
ln -s /var/named/chroot/etc/$f ./
done
Le pondremos permisos de ejecución al script y lo ejecutamos:
#chmod 650 /etc/script2.sh
#./script2.sh
Volvemos al directorio de root:
#cd /root
Ejecutamos la siguiente línea en la terminal:
#setsebool -P named_write_master_zones 1
Entramos al directorio /var/named/chroot/etc/
#cd /var/named/chroot/etc/
Le hacemos una copia al archivo
#chmod 650 /etc/script2.sh
#./script2.sh
Volvemos al directorio de root:
#cd /root
Ejecutamos la siguiente línea en la terminal:
#setsebool -P named_write_master_zones 1
Entramos al directorio /var/named/chroot/etc/
#cd /var/named/chroot/etc/
Le hacemos una copia al archivo
#mv named.conf named.conf.original
Y nos descargarmos un named.conf desde la página de Joel Barrios:
#wget http://www.alcancelibre.org/linux/secrets/named.conf
Reseteamos los atributos extendidos del named.conf
#restorecon named.conf
Editamos el archivo /etc/named.conf:
options {
directory "/var/named";
dump-file "/var/named/data/cache_dump.db";
statistics-file "/var/named/data/named_stats.txt";
memstatistics-file "/var/named/data/named_mem_stats.txt";
forwarders {
8.8.8.8;
Dirección_IP_del _servidor;
};
forward first;
// Solo habilitar lo siguiente si se va a utilizar DNSSEC.
dnssec-enable yes;
dnssec-validation yes;
dnssec-lookaside auto;
bindkeys-file "/etc/named.iscdlv.key";
};
include "/etc/rndc.key";
logging {
channel default_debug {
file "data/named.run";
severity dynamic;
};
};
controls {
inet 127.0.0.1 allow { 127.0.0.1; } keys { "rndc-key"; };
};
view "local" {
match-clients {
127.0.0.0/8;
10.0.0.0/8;
172.16.0.0/16;
192.168.0.0/16;
};
recursion yes;
include "/etc/named.rfc1912.zones";
zone "." IN {
type hint;
file "named.ca";
};
zone "dns.lan" {
type master;
file "data/directa.db";
allow-update { none; };
};
zone "1.168.192.in-add" {
type master;
file "data/inversa.db";
allow-update { none; };
};
};
options {
directory "/var/named";
dump-file "/var/named/data/cache_dump.db";
statistics-file "/var/named/data/named_stats.txt";
memstatistics-file "/var/named/data/named_mem_stats.txt";
forwarders {
8.8.8.8;
Dirección_IP_del _servidor;
};
forward first;
// Solo habilitar lo siguiente si se va a utilizar DNSSEC.
dnssec-enable yes;
dnssec-validation yes;
dnssec-lookaside auto;
bindkeys-file "/etc/named.iscdlv.key";
};
include "/etc/rndc.key";
logging {
channel default_debug {
file "data/named.run";
severity dynamic;
};
};
controls {
inet 127.0.0.1 allow { 127.0.0.1; } keys { "rndc-key"; };
};
view "local" {
match-clients {
127.0.0.0/8;
10.0.0.0/8;
172.16.0.0/16;
192.168.0.0/16;
};
recursion yes;
include "/etc/named.rfc1912.zones";
zone "." IN {
type hint;
file "named.ca";
};
zone "dns.lan" {
type master;
file "data/directa.db";
allow-update { none; };
};
zone "1.168.192.in-add" {
type master;
file "data/inversa.db";
allow-update { none; };
};
};
NOTA:Nos aseguramos que el archivo /etc/named.conf tenga los contextos correspondientes para SELinux a fin de evitar potenciales problemas de seguridad.
#chcon -u system_u -r object_r -t named_conf_t /var/named/chroot/etc/named.conf
#chcon -u system_u -r object_r -t named_conf_t /var/named/chroot/etc/named.conf
Creamos las distintas zonas directas e inversas.
#nano /var/named/chroot/var/named/data/directa.db
$TTL 86400
@ IN SOA dns.lan. root.dns.lan. (
2012101501; número de serie
28800 ; tiempo de refresco
7200 ; tiempo entre reintentos de consulta
604800 ; tiempo tras el cual expira la zona
86400 ; tiempo total de vida
)
$TTL 86400
@ IN SOA dns.lan. root.dns.lan. (
2012101501; número de serie
28800 ; tiempo de refresco
7200 ; tiempo entre reintentos de consulta
604800 ; tiempo tras el cual expira la zona
86400 ; tiempo total de vida
)
@ IN NS dns.lan.
@ IN MX 10 mail
@ IN A 192.168.1.67
server IN A 192.168.1.67
www IN CNAME server
dns IN A 192.168.1.67
mail IN A 192.168.1.67
@ IN A 192.168.1.67
server IN A 192.168.1.67
www IN CNAME server
dns IN A 192.168.1.67
mail IN A 192.168.1.67
stiven IN A 192.168.1.68
Zona de resolución inversa red local
#nano /var/named/chroot/var/named/data/inversa.db
#nano /var/named/chroot/var/named/data/inversa.db
$TTL 86400
@ IN SOA dns.lan. root.dna.lan. (
2012101501; número de serie
28800 ; tiempo de refresco
7200 ; tiempo entre reintentos de consulta
604800 ; tiempo tras el cual expira la zona
86400 ; tiempo total de vida
)
@ IN NS dns.dns.lan.
67 IN PTR server.dns.lan.
67 IN PTR mail.dns.lan.
67 IN PTR www.dns.lan.
@ IN SOA dns.lan. root.dna.lan. (
2012101501; número de serie
28800 ; tiempo de refresco
7200 ; tiempo entre reintentos de consulta
604800 ; tiempo tras el cual expira la zona
86400 ; tiempo total de vida
)
@ IN NS dns.dns.lan.
67 IN PTR server.dns.lan.
67 IN PTR mail.dns.lan.
67 IN PTR www.dns.lan.
68 IN PTR stiven.dns.lan.
Iniciamos el servicio named:
#service named start
Abrimos el puerto 53 TCP/UDP
Para comprobar que todo ha salido bien, escribimos la orden dig de la zona directa en el terminal:
#dig @127.0.0.1 server.dns.lan.
Y este es el resultado.
; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.10.rc1.el6_3.3 <<>> @127.0.0.1 server.dns.lan.
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 57732
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 1
;; QUESTION SECTION:
;server.dns.lan. IN A
;; ANSWER SECTION:
server.dns.lanl. 86400 IN A 192.168.1.67
;; AUTHORITY SECTION:
dns.lan. 86400 IN NS dns.lan.
;; ADDITIONAL SECTION:
dns.lan. 86400 IN A 192.168.1.67
;; Query time: 89 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Fri Oct 5 19:08:10 2012
;; MSG SIZE rcvd: 82
Si nos da como resultado la IP nuestra, es que ha resuelto bien el dominio.
Para hacer permanente el servicio DNS, escribimos en la terminal:
#chkconfig named on
Si nos queremos poner como servidor de DNS a nosotros mismos, nos metemos en #nano /etc/resolv.conf y ponemos como nameserver nuestra IP
nameserver 127.0.0.1
nameserver 192.168.1.67
Iniciamos el servicio named:
#service named start
Abrimos el puerto 53 TCP/UDP
Para comprobar que todo ha salido bien, escribimos la orden dig de la zona directa en el terminal:
#dig @127.0.0.1 server.dns.lan.
Y este es el resultado.
; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.10.rc1.el6_3.3 <<>> @127.0.0.1 server.dns.lan.
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 57732
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 1
;; QUESTION SECTION:
;server.dns.lan. IN A
;; ANSWER SECTION:
server.dns.lanl. 86400 IN A 192.168.1.67
;; AUTHORITY SECTION:
dns.lan. 86400 IN NS dns.lan.
;; ADDITIONAL SECTION:
dns.lan. 86400 IN A 192.168.1.67
;; Query time: 89 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Fri Oct 5 19:08:10 2012
;; MSG SIZE rcvd: 82
Si nos da como resultado la IP nuestra, es que ha resuelto bien el dominio.
Para hacer permanente el servicio DNS, escribimos en la terminal:
#chkconfig named on
Si nos queremos poner como servidor de DNS a nosotros mismos, nos metemos en #nano /etc/resolv.conf y ponemos como nameserver nuestra IP
nameserver 127.0.0.1
nameserver 192.168.1.67
Y en #nano /var/named/chroot/etc/named.conf ponemos como forwarders la IP del servidor que pueda resolvernos en caso de que nuestro servidor no pueda.
forwarders {
192.168.1.67;
};
Reiniciamos los servicios named y network
#service named restart
#service network restart
No hay comentarios:
Publicar un comentario