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.
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):
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.
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
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:
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:
# 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; # }
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