Vous êtes sur la page 1sur 10

Servidor GNU/Linux CentOS Desde 0 (cero) ::

Servidor DNS - (Parte 4)



En esta entrega aprenderemos un poco sobre configuracin de DNSs
a nivel de consola, daremos de alta algunos registros para resolucin
exterior y interior.

Como el tema es muy extenso y puede ser que algunos lectores sean
muy exigente o tengan conocimiento nulos y por consiguiente nos
reservaremos a ofrecerlo solo a usuarios que ya conozcan
tericamente el funcionamiento de un DNS.

Un DNS es un Servicio que ofrece la resolucin o traduccin de
nombres de dominio ha direcciones lgicas (IP) y tambin el modo
inverso (Resolucin Inversa) que la resolucin o traduccin de una
direccin lgica a nombre de dominio.

En internet existen Dominios Maestros (DNSs Maestros) que serian
los que manejan el dominio de Raz (mx, com, jp, es, edu, org, gov,
etc...) en nuestra experiencia hemos nota que algunos DNSs que
mantienen los registros MX tardan mucho en buscar las
actualizaciones de los dominios, por lo consiguiente es
recomendable no estn moviendo mucho la configuracin de un
Servidor DNS ya que puede que la actualizacin que hagamos no se
vea reflejada al instante.

Si estamos configurando un DNS Local, entonces veremos la
actualizacin al instante.


BIND / NAMED


BIND es un Servidor DNS que predomina en los Servidores en
Internet, bind mantiene un archivos de configuracin
llamado named.conf donde se declaran las Zonas (dominios) y
despliegan las resoluciones internas y externas.

BIND podemos lanzarlo como un Servidor de DNS Enjaulado (chroot)
o Normal, lo mas recomendable para Servidores Locales es manejarlo
como Enjaulado (chroot), pero si mantenemos un Servidor Local (o en
Internet) con mucha demanda de Resolucin de Nombre de Dominio
entonces es mejor manejarlo normal.

Primero instalamos bind:

Codigo:
shell# yum install bind-chroot


Permisos de bind:

Codigo:
shell# cd /var/
shell# chmod 755 named/chroot/var/
shell# chmod 755 named/chroot/var/named/
shell# chmod 755 named/chroot/var/run/
shell# chmod 777 named/chroot/var/run/named/
shell# cd /var/named/chroot/var/named
shell# ln -s ../../ chroot


Si quieres aprender mas sobre las Zonas puedes ver los ejemplos ya
realizados en:

Codigo:
shell# cp /usr/share/doc/bind-x.x.x/sample/var/named/named.local
/var/named/chroot/var/named/
shell# cp /usr/share/doc/bind-x.x.x/sample/var/named/named.root
/var/named/chroot/var/named/


Creando el archivo de configuracin:

Codigo:
shell# touch /var/named/chroot/etc/named.conf


Cerciorarnos que se ejecutara enjaulado, ya que de no serlo entonces
el archivo de configuracin lo estara leyendo de /etc/named.conf (lo
cual no queremos):

Codigo:
shell# cat /etc/sysconfig/named
ROOTDIR=/var/named/chroot


Confgurando el deamon al iniciar sistema:

Codigo:
shell# cd /etc/init.d/
shell# chkconfig --levels 235 named on
shell# /etc/init.d/named start



Zonas de Dominio

Daremos el ejemplo de como configurar una Zona de
Dominio: midominio.com.

shell# cat /var/named/chroot/etc/named.conf
Codigo:
options {
directory "/var/named/";
listen-on-v6 { none; };
listen-on port 53 { 127.0.0.1; 10.10.10.1;};
forwarders { 8.8.8.8; 208.67.222.222; };
dnssec-enable yes;
# dnssec-validation yes;
dnssec-lookaside "." trust-anchor dlv.isc.org.;
};

acl slaves {
10.10.10.2; # nuestra IP de la eth1
10.10.10.3; # nuestra IP de la eth2
};

acl internals {
127.0.0.1;
10.10.10.1;
};

view "internal" {
match-clients { internals; };
recursion yes;
zone "midominio.com" {
type master;
file "/var/named/internals/db.midominio.com";
};
zone "10.10.10.in-addr.arpa" {
type master;
file "/var/named/db.10.10.10";
};
};

view "external" {
match-clients { any; };
recursion no;
zone "midominio.com" {
type master;
file "/var/named/externals/db.midominio.com";
allow-transfer { slaves; };
};
zone "10.10.10.in-addr.arpa" {
type master;
file "/var/named/db.10.10.10";
};
};

key "TRANSFER" {
algorithm hmac-md5;
secret "Nuestro Hash Generado==";
};

server 10.10.10.1 {
keys {
TRANSFER;
};
};


La Resolucin Inversa:

shell# cat /var/named/chroot/var/named/db.10.10.10
Codigo:
$TTL 604800
@ IN SOA midominio.com. root.midominio.com. (
2012051414 ; serial
8H ; refresh
2H ; retry
4W ; expire
1D ) ; minimum ttl
;
@ IN NS ns1.midominio.com.
225 IN PTR midominio.com.
225 IN PTR otrodominio.com.
225 IN PTR masdominios.com.


La solucin para las peticiones externas:

[b]shell# cat
/var/named/chroot/var/named/externals/db.midominio.com
Codigo:
$TTL 345600
@ IN SOA ns1.midominio.com. contacto.midominio.com. (
2012051414 ; serial
7200 ; refresh
1800 ; retry
1209600 ; expire
300 ) ; negative cache ttl
;
@ IN NS ns1
IN NS ns2
IN MX 10 server
IN A 67.23.225.225
midominio.com. IN A 10.10.10.1
ns1 IN A 10.10.10.1
mail IN A 10.10.0.1
server IN A 10.10.10.1
www IN CNAME midominio.com.


La solucin para las peticiones internas:

shell# cat
/var/named/chroot/var/named/internals/db.midominio.com
Codigo:
$include "/var/named/externals/db.midominio.com"

pedro IN A 10.10.10.20
luis IN A 10.10.10.21
andres IN A 10.10.10.22
pablo IN A 10.10.10.23
contabilidad IN A 10.10.10.24


Recomendacin / Gua Administrador Linux DNS (PDF)


FIREWALL


La siguientes lineas son recomendaciones para la configuracin de su
firewall (iptables) que les permitir abrir los puertos del DNS (Servidor
de Nombre de Dominio) y/o DHCP.

Codigo:
iptables -A INPUT -p tcp --dport 53 -j ACCEPT
iptables -A INPUT -p udp --dport 53 -j ACCEPT

Servidor GNU/Linux CentOS Desde 0 (cero) ::
Servidor DHCP - (Parte 3)

Este tema le dedicaremos una publicacin completa debido a que
existen dos herramientas muy buenas que son dnsmasq y dhcpd. Es
importante el usuario conozca la diferencia entre ambas y desde el
punto de vista aplicativo cual seria la mas recomendable.

Un DHCP es un servicio que permite la asignacin automtica de
direcciones IP a los equipos que se conecten a la red, generalmente
un DHCP debe contener una tabla de asignaciones que
posteriormente se volque a un LOG para mayor informacin para el
Administrador.

Que es un DHCP Autoritativo ? (authoritative) frecuentemente es un
termino que en las configuraciones de los DHCPs se hace presente,
debido a que esta variable se establece cuando se desea que nuestro
DHCP sea muy exigente, vaya, si una IP que tiene un HOST se repite
con otro HOST que nuestro DHCP tiene en su tabla de asignaciones,
entonces le cambia el IP por uno que no se repita. Y un DHCP No
Autoritativo es aquel que solo asigna IPs y no corrobora si un Host
tiene un IP Repetido.

Por recomendacin debemos usar un DHCP como Autoritativo para
evitar que usuarios tramposos pongan el IP Manualmente (asumiendo
que no tenemos rango para IPs Manuales), si se diera el caso
entonces el DHCP les reasignara un IP Nuevo automticamente.


TERMINOS EN SERVIDORES DNS

Resolucin de DNS es obtener la Direccin IP a partir del Dominio o
Hostname.

Ejemplo: shell# host midominio.com
Codigo:
midominio.com has address 10.10.10.1
midominio.com mail is handled by 10 server.midominio.com.


Resolucin Inversa (rDNS) es un termino que se usa para realizar lo
contrato de un DNS. Que seria obtener el Hostname de la IP que
consultamos.

Ejemplo: shell# host 10.10.10.1
Codigo:
1.10.10.10.in-addr.arpa domain name pointer server.midominio.com.



DNSMASQ

Para ambientes caseros es recomendable dnsmasq ya que es mas
que un DHCP Server, sino que tambin incluye un DNS Server,
permitiendo de forma automtica la creacin de los registros de
dominios a partir del HOSTNAME de la maquina a la que se le asigna
la IP Automtica, las tablas de routas DNS se van actualizando por
dnsmasq y a su vez asignando IPs en el rango que deseemos.

Un buen ejemplo de la configuracin de dnsmasq es la siguiente:

Codigo:
# instalando paquetes
shell# yum install -y dnsmasq


shell# cat /etc/dnsmasq.conf
Codigo:
# resolv-file=/etc/resolv.conf # ruta del directorio
server=10.10.10.1 # el servidor DNS
domain=midominoilocal.com # dominio local
interface=eth0 # interface que escucha
dhcp-range=10.10.10.200,10.10.10.253 # rango a asignar
dhcp-lease-max=150 # maximo de tiempo de difucion
dhcp-authoritative # dhcp autoritativo
log-queries # generar log de intentos de consulta al dhcp
log-dhcp # los del dhcp (a quien asigno, a que MACs)
conf-dir=/etc/dnsmasq.d # donde esta el deamon
# dhcp-boot=pxelinux.0 # booteo por red
# enable-tftp # habiltar tftp
# tftp-root=/home/tftp # ruta del tftp
# dhcp-boot=/home/tftp/pxelinux.0,server,10.10.10.1


Iniciar servicio
Codigo:
shell# cd /etc/init.d/
shell# chkconfig --levels 235 dnsmasq on
shell# /etc/init.d/dnsmasq start



DHCPD

Esta aplicacin es un DHCP puro, que permite de forma muy simple y
con instrucciones sencillas empezar a formar tu servicio DHCP,
tomando en cuenta de la asignacin de IPs a partir de un rango
especifico deseado, a travs de la MAC y con capacidad para definir
Gateways y otras rutas a conveniencia.

DHCPD es un deamon que encontramos en ambiente de Servidores
GNU/Linux ya que lo mas comn al momento de montar un DHCP es
que este servicio lo proporcione un servidor que a su vez pueda
hacerla de DNS, pero claro, ya todo depende la cantidad de consultas
de DNS y rDNS (Resolucin Inversa de DNS) tengamos en la red.

Nosotros te recomendamos la siguiente configuracin:

Codigo:
shell# yum install -y dhcp


shell# cat /etc/dhcp/dhcpd.conf
Codigo:
ddns-update-style interim;
ignore client-updates;
authoritative;

# un host de una mac especifica ponerle una ip
#host mihost {
# option host-name "mihost.homelinux.com";
# hardware ethernet AA:BB:CC:EE:FF:GG;
# fixed-address 10.10.10.x;
# }

subnet 10.10.10.0 netmask 255.255.255.0 {
option routers 10.10.10.1;
option subnet-mask 255.255.255.0;
option domain-name "homelinux.com";
option nis-domain "homelinux.com";
option domain-name-servers 10.10.10.1;
range 10.10.10.11 10.10.10.50;
default-lease-time 86400;
max-lease-time 608400;
# option netbios-name-server 10.10.10.1;
# option ntp-server 10.10.10.1;
# max-lease-time 608400;
}

# otra subred
#subnet 192.168.1.0 netmask 255.255.255.0 {
# option routers 192.168.1.1;
# option subnet-mask 255.255.255.0;
# option domain-name "otrared.homelinux.com";
# option domain-name-servers 192.168.1.1;
# range 192.168.1.50 192.168.1.100;
# default-lease-time 86400;
# max-lease-time 608400;
# }


Y para configurar que cierta interfaz en especifico tenga el DHCP
escuchando:

shell# cat /etc/sysconfig/dhcpd
Codigo:
# estableciendo la "eth1" como escucha
DHCPARGS=eth1


Iniciar servicio
Codigo:
shell# cd /etc/init.d/
shell# chkconfig --levels 235 dhcpd on
shell# /etc/init.d/dhcpd start


Recomendacin / DHCP CentOS


FIREWALL


La siguientes lineas son recomendaciones para la configuracin de su
firewall (iptables) que les permitir abrir los puertos del DNS (Servidor
de Nombre de Dominio) y/o DHCP.

Codigo:
iptables -A INPUT -p tcp --dport 53 -j ACCEPT
iptables -A INPUT -p udp --dport 53 -j ACCEPT

Vous aimerez peut-être aussi