Transferir zonas con Bind9


La transferencias de zonas DNS es la tarea que realiza un Servidor de nombres maestro, al copiar sus zonas a un Servidor de nombres secundario.

La diferencia principal radica en que las zonas en Servidor maestro se realizan casi siempre de forma manual, mientras que las zonas del Servidor esclavo son una copia exacta del Servidor maestro.

Esta implementación se realiza para satisfacer las siguientes necesidades:

  • Tener Backup de las zonas de un dominio.
  • Tolerancia a fallos, si un Servidor maestro deja de responder el Servidor esclavo será capaz de responder las solicitudes de los clientes.
  • Balanceo de carga, ya que serán varios Servidores de nombre trabajando en conjunto.
  • Para realizar esta implementación usted debe tener el Servidor DNS maestro corriendo correctamente, por favor consulte en la web como implementar el servicio Bind9.

    Tenga en cuenta que este modo no es muy seguro por ende no es recomendable su implementación en entornos críticos.
    Pero existe una manera mas segura de llevar acabo esta tarea de una forma mas confiable, ya que se puede trabajar con llaves


  • Configuración del Serividor esclavo

    Editamos el archivo /etc/bind/named.conf, creando las zonas inversa y directa, con el siguiente contenido:

    zone "dominio.local" {
    type slave;
    file "/etc/bind/directa";
    masters { 192.168.1.1; };
    };
    zone "1.168.192.in-addr.arpa" {
    type slave;
    file "/etc/bind/inversa";
    masters { 192.168.1.1; };
    };


    Se ha modificado las líneas type especificando que el roll de este será esclavo, zone editamos el dominio con el que trabajamos, éste debe ser igual al de la zona del Servidor maestro y file el cual indica la ruta en donde se ubica las zonas, también se ha agregado la línea masters en la cual se especifica la dirección IP del Servidor maestro.

    Nota: No es necesario crear las zonas en la ruta especificada en el archivo named.conf, ya que al transferir la información del Servidor maestro estas automaticamente se crean.

    Configuración del Servidor maestro

    Editamos el archivo /etc/bind/named.conf del Servidor master.

    Nos ubicamos en las zonas que queremos transferir añadiendo las siguientes líneas:


    zone "dominio.local" {
    type master;
    file "/etc/bind/directa";
    allow-transfer { 192.168.1.200; };
    };
    zone "1.168.192.in-addr.arpa" {
    type master;
    file "/etc/bind/inversa";
    allow-transfer { 192.168.1.200; };
    };

    allow-transfer: En estas líneas se específica las direcciones IP de los Servidor que se les permitirá la actualización de las zonas.

    Transferir zonas

    Con lo realizado hasta ahora hemos especificado el Roll de cada Servidor, las zonas a transferir y la ubicación de Base de Datos en el Servidor esclavo.
    Para transferir las zonas es necesario cambiar los permisos del directorio /etc/bind/ de tal forma que el Servidor maestro pueda escribir en este ya que el es el encargado de modificar el archivo en donde se encuentran los registros.

    Para que el Servidor maestro pueda modificar las zonas basta con aplicar los siguientes permisos al directorio bind del Servidor esclavo.

    # chmod 2775 /etc/bind/

    Reiniciamos el Servicio bind tanto en el Servidor maestro como en el esclavo.

    # /etc/init.d/bind9 restart

    Si todo ha salido bien en la ruta /etc/bin/ del Servidor esclavo debe aparecer las zonas especificadas en el archivo named.conf.

    Cabe aclarar como funciona la transferencia de zonas en un entorno Bind9.

    Una zona solo se transfiere si el numero de serie del principal es mayor que el del esclavo. En cada intervalo de refresco el esclavo comprueba si el principal se ha actualizado. Si la comprobación falla (porque el principal no esté disponible) intentará comprobarlo cada intervalo de reintento. Si el fallo continúa hasta el intervalo de expiración el esclavo eliminará la zona de su sistema de ficheros y ya no volverá a estar disponible.

    Para que esto sea posible hay modificar el número de serie de la zona transferida por el Servido maestro, de tal forma que esta sea menor, para que la actualizacion se realice automaticamente.

    Referencia: esdebian.org

    Configuración básica Bind9 sobre Debian Squueze



    Bind9 en un servicio DNS para los sistemas *Unix, de hecho este servicio es usado en la mayoría de los ISP, y es usado por los servidores root (servidores DNS mas importantes).

    Se instalara el servicio desde cero, el ambiente que se llevará acabo sera básico, de tal forma que el servicio sea capaz de resolver nombres de dominio y nombres de búsqueda inversa, también estará en la capacidad de reenviar peticiones a otros servidores DNS.

    Instalación.

    Se hará uso de la herramienta aptitude

    # aptitude install bind9

    "Es recomendable realizar backup del directorio /etc/bind"

    Configuración.


    # vim /etc/bind/named.conf.default-zones

    Al final del archivo se editan las siguientes líneas:



    En donde:
  • ZONE
  • - Se especifica el nombre de la zona o dominio, en el caso de la zona inversa se edita el id de red con el que se trabajará.

  • TYPE
  • - Se especifica el tipo de rol, como se trabajará con un solo servidor, este será maestro

  • FILE
  • - Nombre y ruta absoluta del archivo de cada zona.

    Creación de las zonas.

    Se procede a realizar copia de los archivos db.*, en este caso para zona directa.

    # cp /etc/bind/zona_directa

    Para la zona inversa.

    # cp /etc/bind/zona_inversa

    Se procede a editar las zonas creadas.

    # vim /etc/bind/zona_directa


    # vim /etc/bind/zona_inversa


    Reenviadores.


    # vim /etc/bind/named.conf.options

    Se editan los servidores a los que se les enviaran las peticiones, en caso de no ser posible resolverlas.

    Pruebas.

    Se usa el comando nslookup, para realizar las consultas vía puerto #53

    Instalar Squidview en Debian - [ Estadísticas de navegación ]


    Squidview es un programa interactivo de la consola que controla y muestra los registros de Squid en una manera agradable, y limpia.

    Normalmente se usa # tail -f /var/log/squid3/access.log para acceder a los logs del Squid y ver lo que esta pasando en tiempo real, ahora con Squidview se puede hacer esto y mucho mas ya que las opciones que se pueden aplicar al registro de logs supera al simple tail -f

    Para tener en cuenta:

    Squidview tiene quemada la ruta de los logs en /var/log/squid3/access.log, esto esta bien en la versiones anteriores del Squid 2.*, pero en este caso se trabajará con Squid3, por ende la ruta de los logs se encuentra en /var/log/squid3/access.log, como se ha venido mencionando.

    Requisitos:

  • Servicio Squid instalado y configurado correctamente.

  • Instalación:

    Se hará uso de la herramienta aptitude para realizar la instalación de este software.
    # aptitude install squidview

    Después de instalar este paquete se creará en el directorio /root/.squidview/, en esta ruta se guardarán los registros creados/exportados.

    Como se ha venido mencionando Squidview trabaja como si los logs se guardaran en /var/log/squid/access.log, para solucionar esto (para la versiones 3.*) solo basta con crear un enlace simbólico.

    # ln -s /var/log/squid3/ /var/log/squid

    Al ejecutar # squidview



    Entre las opciones que ofrece Squiview



    Con este se puede realizar búsquedas de sitios, ip de estino y local, dominios etc. dichos resultados se pueden extraer a un archivo .txt, este archivo se guardará en /root/.squidview/

    Instalar Calamaris en Debian - [ Estadísticas de navegación ]


    Calamaris analiza los archivos de registro entre una amplia variedad de servidores Proxy Web y genera informes picos de uso, métodos de peticiones, informes de estado de peticiones internas y externas, destinaciones de segundo y alto nivel, tipos de contenidos, y rendimiento.

    Este software no cuenta con una interfaz "cómoda" para la visualización de registros ya que estos son mostrado en la consola, aunque dichos archivos pueden ser redireccionados a un archivo .html para su apertura.

    Instalación:

    Para realizar la instalación de este servicio en Debian, solo basta con usar aptitude

    # aptitude install calamaris

    Generar informes:

    Existen una gran varidad de opciones que se pueden usar para su visualización, por ejemplo:
    # cat /var/log/squid3/access.log | calamaris



  • Para redireccionar la salida a un archivo .html, solo basta con:
    # cat /var/log/squid/access.log | calamaris -R -1 > calamaris.html

    Fuente: http://www.benavent.org/recetas/articles/calamaris.php
  • Instalar Webalizer en Debian - [ Estadísticas de navegación ]


    Webalizer crea los informes en formato HTML, para su visualización con un navegador web estándar.

    Características:

  • Esta escrito en C
  • Soporte varios tipos de logs para su análisis, entre ellos Squid, Apache entre otros
  • Los informes generados se pueden configurar desde la línea de comandos, o más comúnmente, por el uso de uno o más archivos de configuración.
  • Soporta múltiples idiomas.
  • Totalmente compatible con IPv4 e IPv6.
  • Distribuido bajo la Licencia Pública General GNU, el código fuente está disponible, así como las distribuciones binarias para algunas de las plataformas más populares.

  • Requisitos:

  • Servidor Web instalado y configurado correctamente (En este ejemplo se usará Apache2)
  • Servicio Squid instalado y configurado correctamente.

  • Instalación:

    Solo basta con instalar dicho paquete desde los repositorios:
    # aptitude install webalizer

    Durante la instalación se creará el directorio /var/www/webalizer/, en el cual se albergarán los datos a cargar por el servidor web.

    Se procede modificar el archivo principal de Webalizer, localizado en /etc/webalizer/ en dicho directorio se encuentra el archivo webalizer.conf
    # vim /etc/webalizer/webalizer.conf

    Se procede a modificar/comentar la línea LogFile, especificando los logs a cargar, de tal forma que:
    LogFile /var/log/squid3/access.log

    # webalizer -F squid /var/log/squid/access.log


    Generar registros.

    Como se está trabajando con Squid se procede a generar los informes de esta forma:
    # webalizer -F squid /var/log/squid3/access.log

    Se puede crear una tarea programada para la creación de estos informes, no existe una configuración estándar cada administrador la usará según sus necesidades.

    Para ingresar a los reportes generados solo basta con digitar http://IP_Servidor/webalizer




    Instalar LightSquid en Debian - [ Estadísticas de navegación ]


    Según el sitio oficial: Es un sistema liviano el cual accede directamente a los logs del Squid para poder generar las gráficas.
    Algunas ventajas de este servicio son:

  • Instalación rápida y sencilla.
  • Rápido analizador de registros.
  • Usa perl script basado en CGI para páginas las dinámicas.
  • Plantilla del HTML la cual se puede diseñar.
  • No usa ninguna tipo de almacenamiento en base de datos.
  • Permite la creación de diversos informes.
  • Creación de grupos y usuarios (facilitar búsqueda de equipos/usuarios).
  • Interfaz multilenguaje (Inglés, Ruso, Italiano, Húngaro, Portugués-Brasil, Búlgaro, Español, Checo).

  • Dependencias:

    - Perl
    - Apache
    - Squid
    - libgd-gd2-perl

    Preámbulo:

  • Se trabajará en /vaw/www/ de tal forma que Apache pueda acceder a este directorio.
  • Tenga en cuenta que se accede a los logs vía http, lo cual no es recomendable en un ambiente de producción crítico.
  • Es recomendable establecer políticas de acceso como la autenticación de credenciales, entre otras.

    Instalación:

    Se procede a realizar la descarga desde el sitio oficial, esta descarga se debe hubicar en /var/www/

    Una ves descargado el archivo se realizan los siguiente:

    # cd /var/www/
    # tar -xzf lightsquid.tgz
    # mv lightsquid-1.8.tgz lightsquid
    # cd /var/www/lightsquid/
    # chmod +x *.cgi
    # chmod +x *.pl
    # chown -R apache:apache *

  • Editamos el archivo de configuración /var/www/lightsquid/lightsquid.cfg
    Cambiando las siguientes lineas (Este paso lo adaptamos a nuestras necesidades)

    # -------------------- GLOBAL VARIABLES
    $cfgpath ="/var/www/lightsquid";
    $tplpath ="/var/www/lightsquid/tpl";
    $langpath ="/var/www/lightsquid/lang";
    $reportpath ="/var/www/lightsquid/report";
    $logpath ="/var/log/squid3";
    $ip2namepath ="/var/www/lightsquid/ip2name";
    [....]
    #language
    $lang ="sp";

    Agregamos un host para cargar este sitio en /etc/apache2/sites-available/default

    Esto con el fin de permitir la ejecución de los siguientes scripts:



    Se guardan los cambios:
    # /etc/init.d/apache2 restart

    Para verificar los cambios hechos se ejecuta desde la terminal:
    # /var/www/lightsquid/check-setup.pl

    LightSquid Config Checker, (c) 2005-9 Sergey Erokhin GNU GPL

    LogPath : /var/log/squid3
    reportpath: /var/www/lightsquid/report
    Lang : /var/www/lightsquid/lang/sp
    Template : /var/www/lightsquid/tpl/base
    Ip2Name : /var/www/lightsquid/ip2name/ip2name.simple

    all check passed, now try access to cgi part in browser


    Para generar las estadísticas basta con ejecutar:
    # /var/www/lightsquid/lightparser.pl

    Programación:

    La tarea se creará en:
    # crontab -e

    En donde solo basta con agregar esta línea:

    */55 * * * * /var/www/lightsquid/lightparser.pl diario

    Instalar MySAR en Debian - [ Estadísticas de navegación ]


    MySQL Squid Access Report, Mysar para abreviar, es un sistema de información para la actividad de tráfico de usuarios web, usando los registros de squid.

    Mysar consta de dos partes:

  • Utilidades de línea de comandos que importar un archivo de registro de calamar en una base de datos MySQL y mantener la Databas.
  • Una interfaz web para acceder a los informes.

    Sus principales características son:

    Se encuentra bajo licencia GPL.

    No existen informes estáticos los cuales acaparan la CPU del sistema.

    Mysar es es el único sistema que guarda los reportes calamaris en una base de datos, en este caso MySQL.

    No hay que esperar a la próxima hora o el día de los informes que se generen.

    Además de ser:

    Portátil. Escrito en PHP puro, Mysar está disponible para cualquier plataforma de sistema operativo Unix basado en PHP, sin necesidad de ninguna modificación.

    Flexible. Dado que el código es de fuente abierta, se puede personalizar a sus necesidades, el cual permite crear sus propios informes como mejor le parezca.

    Compatibles. El proyecto Mysar tiene una lista de correo, foro y un mantenedor activo.

    Estable. La utilización de software maduro y estable como Smarty, MySQL y PHP, Mysar está de pie sobre los hombros de gigantes.

    Fácil. Con una instalación a prueba de tontos y una interfaz web fácil de usar, Mysar hace que el tráfico de Internet de información más fácil que nunca.

    Personalizable. Mysar no necesita estar en el mismo servidor como el calamaris o MySQL. Si la carga es demasiado alta, sólo equilibrar la carga de sus procesos como mejor le parezca.
    ____________________________________________________________________________________________________________________________________________________________

    Requerimientos:

  • apache2
  • libapache2-mod-php5
  • php5-cli
  • php5-mysql
  • squid3
  • mysql-server-5.1

  • Preámbulo:

    El ambiente en el cual se instalará MySAR será:
    - Servidor Squid3 trabajando correctamente.
    - Los reportes se guardaran en /var/www/
    - MySQL corriendo correctamente, solo basta con su instalación.

  • Tenga en cuenta que se accede a los logs vía http, lo cual no es recomendable en un ambiente de producción crítico.
  • Es recomendable establecer políticas de acceso como la autenticación de credenciales, entre otras.

    Instalación:

    Se procede a descargar el software MySAR.

    Se desempaqueta el paquete dentro del directorio en /var/www/ (Apache debe acceder a este directorio, por defecto trabaja así a no se que se cambie el directorio en donde este carga los index)

    Una ves descomprimido el archivo se accede vía web http://ip/mysar/

    ____________________________________________________________________________________________________________________________________________________________



    ____________________________________________________________________________________________________________________________________________________________



    ____________________________________________________________________________________________________________________________________________________________



    ____________________________________________________________________________________________________________________________________________________________



    ____________________________________________________________________________________________________________________________________________________________



    ____________________________________________________________________________________________________________________________________________________________



    Se debe realizar el siguiente cambio:
    # cp /var/www/mysar/etc/config.ini.example /var/www/mysar/etc/config.ini
    ____________________________________________________________________________________________________________________________________________________________



    ____________________________________________________________________________________________________________________________________________________________



    ____________________________________________________________________________________________________________________________________________________________



    ____________________________________________________________________________________________________________________________________________________________



    ____________________________________________________________________________________________________________________________________________________________

    En este paso se debe borrar el directorio install, para poder acceder vía web a MySAR
    # rm /var/www/mysar/www/install



    ____________________________________________________________________________________________________________________________________________________________
    Como se puede observar se edita los logs los cuales se analizarán



    ____________________________________________________________________________________________________________________________________________________________

    Programación:

    # ln -s /var/www/mysar/etc/mysar.cron /etc/cron.d/mysar

    Se procede a editar
    # vim /etc/cron.d/mysar
    =======================

    * * * * * root /var/www/mysar/bin/mysar-resolver.php > /var/www/mysar/log/mysar-resolver.log 2>&1

    0 0 * * * root /var/www/mysar/bin/mysar-maintenance.php > /var/www/mysar/log/mysar-maintenance.log 2>&1

    * * * * * root /var/www/mysar/bin/mysar-importer.php > /var/www/mysar/log/mysar-importer.log 2>&1

    =======================

    Debe quedar similar a esto:



    Para crear los reportes inmediatamente se debe ejecutar en la terminal

    # php /var/www/mysar/bin/mysar-binary-importer
    # php /var/www/mysar/bin/mysar-maintenance.php
    # php /var/www/mysar/bin/mysar-resolver.php


    Si tiene problemas es por que no se han cumplido las dependencias ilustradas anteriormente.

    Se finaliza con la consola MySAR registrando las estadísticas.

  • Instalar JAWStats en Debian


    ¿Que es JAWStats?

    Es un software para crear estadísticas Web.

    En vista a que AWStats consume recursos valiosos en las máquinas y mejorar las gráficas y presentaciones se ha creado el proyecto.

    Beneficios:
    Reducir sobrecarga de procesamiento comparado con AWStats.
    • Fácil de administrar.
    • Suministra más información con respecto a AWStats.

    Desventajas:
    • Más clic y menos desplazamiento sobre los informes generados
    • Todavía se encuentra en fase Beta, ya que solo trabaja con la configuración
    predeterminada de AWStats

    Requisitos:
    •PHP
    •AWStats
    •No es necesesario contra con BD
    •Cliente web (Se desconoce para qué este requisito)

    ¿Como funciona JAWStats?
    AWStats es un software independiente, este al contrario de JAWStats no necesita de "nadie" para trabajar., entonces este juega un papel muy importante ya que sin AWStats no es posible el funcionamiento de JAWStats, porque? Por que JAWStats lee los registros creados por AWStats

    ¿Por que se llama JAWStats?
    Se toma el nombre base de AWStats y se añade la "J" haciendo un homenaje a la biblioteca de JavaScrip jQuery, ya que es utilizada en todo el proyecto JAWStats.

    Licencia:
    Licencia MIT
    INSTALACIÓN.

    # aptitude install apache2 php5 libapache2-mod-php5 awstats

    Ingresamos al directorio /etc/awstats

    # cp awstats.conf awstats.www.prueba.com.conf
    # vim awstats.www.prueba.com.conf

    Editamos los siguientes parámetros:


    [...]
    LogFile="/var/log/apache2/access.log"
    [...]
    LogFormat=1
    [...]
    SiteDomain="www.prueba.com"
    [...]
    HostAliases="prueba.com www.prueba.com"
    [...]


    LogFile = Logs a analizar
    LogFormat = "1" En caso de analizar logs de Apache
    SiteDomain = Nombre del sitio a analizar
    HostAliases = Alias del sitio (se especifican los alias en caso de contar con un server DNS)

    Procedemos a crear la tarea de creación de registros:


    # crontab -e

    9,19,29,39,49,59 * * * * /usr/lib/cgi-bin/awstats.pl -config=www.prueba.com -update >/dev/null

    (Hay que tener cuidado con el nombre, debe ser igual al que creamos al principio)

    Procedemos a descargar JAWStats

    Creamos el directorio

    # mkdir /var/www/jawstats

    Ahora ubicamos el archivo descargado en el directorio creado [..]/jawstats
    # tar -xvvzf jawstats-[....]

    Cambiamos el nombre del archivo config.dist.php

    # mv config.dist.php config.php

    Editamos config.php, cambiando los parámetros:


    vim config.php
    ==============
    $aConfig["www.prueba.com"]
    "siteurl" => "http://www.prueba.com",


    Si todo ha salido bien, al acceder http://IP/jawstats/



     
    |  Esdebian Foro El que sabe sabe, no como el que quiere aprender!