Índice/Index

martes, 11 de diciembre de 2012

Script for downloading chapters from mangareader.net

Today I write to share you a script for downloading manga chapters from the site: mangareader.net

I made this script for personal use but I've decide to share it.

I chose the name getMangaReader for the script, but if there's already a script that works for the same purpose and has the same name please notify me to change it.

It is only for Linux systems and it needs to be run with sh.

The previous requirement you need to run the script is to have installed:

  • wget

The URL for downloading is: getMangaReader

For spanish version here

The user instructions are inside the downloaded .zip file.

The script is under the GNU license. 

If you have any doubt about the use or modification that you want me to do to the script or you want to do by yourself please write a comment.

Script para descargar capítulos de mangareader.net

Hoy escribo para compartirles un script para descargar capítulos de manga desde el sitio: mangareader.net

Este script lo hice para uso personal pero he decidido compartirlo.

Le puse de nombre getMangaReader, pero si ya existe un script que funcione para lo mismo y tenga ya este nombre porfavor díganme para cambiarlo.

Es sólo para sistemas Linux ya que necesita correrse con sh.

Los requisitos son tener instalado:

  • wget

URL de descarga: getMangaReader

Versión en inglés aquí

Las instrucciones de uso vienen dentro del .zip que se descarga.

El programa se encuentra licenciado bajo GNU.

Si tienen alguna duda sobre uso o modificación que quieran que le haga o que ustedes mismos quieran hacerle comenten porfavor.

viernes, 10 de agosto de 2012

Configuración de un DNS IPv6 local en Linux con Bind

Hoy escribiré sobre como crear un DNS dentro de nuestra LAN utilizando IPv6.

Como en un tema anterior ya escribí sobre algo de teoría del DNS y Bind9 y su respectiva instalación pasaremos directamente a la configuración de los archivos para un DNS IPv6. Si tienen dudas de teoría consulten el post anterior aquí.

Para Ubuntu y similares

Utilizaremos las siguientes IPv6 de sitio de ejemplo:

  • Servidor DNS - fec0::a987:200:27ff:fe59:bfd6
  • Cliente - fec0::a987:21f:d0ff:fe45:4e76 para el cliente
  • Con una máscara de red de 64 bits 
  • Por lo que nuestra dirección IPv6 de red es fec0:0:0:a987::/64

Y los siguientes dominios de ejemplo:

  • Servidor - rukia.com y también responderá por www.rukia.com
  • Cliente - goku.rukia.com

Los archivos a configurar se encuentran en el directorio /etc/bind

Primero editamos este archivo:


Por default el archivo contiene lo siguiente:


En este archivo se declaran las zonas.

Para agregar nuestra zona agregamos estas líneas:


Ahora agregamos la zona inversa de nuestra red:


Noten que la dirección de red se escribe de derecha a izquierda.
Nuestra dirección de red IPv6 escrita completamente es:

f.e.c.0.0.0.0.0.0.0.0.0.a.9.8.7 (fec0:0:0:a987)

Recuerden que el nombre de los archivos de zona puede ser el que quieran, en este ejemplo para el archivo de zona se está utilizando db.rukiav6 y para la zona inversa db.rukiaRevv6.

Al final nuestro archivo named.conf.default-zones se ve de esta forma:


Ahora antes de continuar revisemos que nuestro archivo de zonas y el de las opciones está incluido dentro de named.conf, entonces revisemos este archivo:


Debe de conener lo siguiente:


Ahora editemos nuestro archivo de zona (/etc/bind/db.rukiav6):


Recuerden que para IPv6 se utiliza el registro AAAA.

Ahora a editar el archivo de zona inversa (/etc/bind/db.rukiaRevv6):


Noten que las direcciones de host se escriben de derecha a izquierda.

Nuestra dirección de host IPv6 escrita completamente para el servidor es:

0.2.0.0.2.7.f.f.f.e.5.9.b.f.d.6 (0200:27ff:fe59:bfd6)

Y la dirección de host IPv6 escrita completamente para el cliente es: 

0.2.1.f.d.0.f.f.f.e.4.5.4.e.7.6 (021f:d0ff:fe45:4e76)

Ahora sólo falta el archivo named.conf.options, pero la configuración que viene de default para Ubuntu es suficiente. Sólo si tenemos un error que dice que el servidor rechaza las conexiones al tratar de resolver dominios desde el cliente debemos revisar que el archivo incluya estas líneas:


Para iniciar el servicio ejecutamos este comando:


Y listo, ya tenemos un DNS IPv6.


Configuración para Fedora y similares

Utilizaremos las siguientes IPv6 de sitio de ejemplo:

  • Servidor DNS - fec0::a987:200:27ff:fe59:bfd6
  • Cliente - fec0::a987:21f:d0ff:fe45:4e76 para el cliente
  • Con una máscara de red de 64 bits 
  • Por lo que nuestra dirección IPv6 de red es fec0:0:0:a987::/64

Y los siguientes dominios de ejemplo:

  • Servidor - rukia.com y también responderá por www.rukia.com
  • Cliente - goku.rukia.com

El primer archivo a editar es:


En este archivo se declaran las opciones y archivos de zona, por default el archivo contiene lo siguiente:



Primero editemos las opciones, las que nos interesan son:

  • listen-on-v6
  • directory
  • allow-query
  • recursion

Así que la sección de opciones debe tener lo siguiente:


Ahora pasemos a agregar la zona y zona inversa al archivo.



Como agregar la zona:


Como agregar la zona inversa:


Noten que la dirección de red se escribe de derecha a izquierda.
Nuestra dirección de red IPv6 escrita completamente es:

f.e.c.0.0.0.0.0.0.0.0.0.a.9.8.7 (fec0:0:0:a987)

Recuerden que el nombre de los archivos de zona puede ser el que quieran, en este ejemplo para el archivo de zona se está utilizando named.rukiav6 y para la zona inversa named.rukiaRevv6.

Al final nuestro archivo named.conf se ve de esta forma:


Ahora escribamos los archivos de zona. Por default y para el ejemplo se encuentran en el directorio /var/named.

Archivo de zona (named.rukiav6):


Archivo de zona inversa (named.rukiaRevv6):


Noten que las direcciones de host se escriben de derecha a izquierda.

Nuestra dirección de host IPv6 escrita completamente para el servidor es:

0.2.0.0.2.7.f.f.f.e.5.9.b.f.d.6 (0200:27ff:fe59:bfd6)

Y la dirección de host IPv6 escrita completamente para el cliente es: 


0.2.1.f.d.0.f.f.f.e.4.5.4.e.7.6 (021f:d0ff:fe45:4e76)

Esta es toda la configuración.

Para iniciar el servicio ejecutamos lo siguiente:



Y listo ya tenemos un DNS IPv6.


Configuración del DNS en los clientes

Para establecer el DNS en los clientes sólo hay que agregar la IP del servidor de nombres de dominio o DNS a nuestra configuración de red. Voy a explicar como se haría en modo consola, en modo gráfico es con el editor de conexiones de red en configuración manual para IPv6.

En consola sólo hay que editar el archivo:


Con esto los clientes ya podrán consultar nuestro DNS.


Como comprobar la resolución de nombres de dominio

Se pueden utilizar los comandos nslookup y dig, la diferencia es que dig nos manda un poco más de información.

Sólo que para que funcionen con IPv6, hay que mandar un parámetro extra a estos comandos.

Comprobar con nslookup:


Comprobar con dig:



Y bueno esto es todo para tener un DNS IPv6 rápido dentro de una LAN. Saludos!

jueves, 9 de agosto de 2012

Basic IPv6 network configuration for Linux

Today I'll write on how to configure Linux with IPv6. Today we'll go directly to the practice since in an older post I wrote about IPv6 addresses.


Verify if the system has IPv6 enabled

The IPv6 module is integrated since kernel 2.4.x even though it's not always enable.

With this command we can verify if it is or not enable:


If it returns the message "Enable" this means that it's enable (obvious). If not we activate it with the next commands.


For Ubuntu or similars:


And if we want the IPv6 module to be loaded at boot time we add the word ipv6 to the end of this file:



For Fedora or similars

We edit this file:


And we add this line to the file:


Now that we added it we restart the network service.

Also if we want to allow the forwarding of IPv6 packages in our computer we apply these commands and settings.


Enable IPv6 package forwarding

In Ubuntu and similars

We activate the forwarding with this command:


And for enabling forwarding since boot time, we edit this file:


Adding this line:


Then we copy this file to /etc.
And finally we edit this file:


Adding this line:



How to activate it in Fedora and similars

We edit the file:


Adding this line:


Now let's go to configure our interfaces.


Configure IPv6 network on Ubuntu and similars

We'll use as example the IPv6 local-site address FECO::A987:211:22FF:FE33:4455 with a netmask of 64 bits.

We edit the file:


With these lines (using as example the interface eth0):


In this configuration we didn't set a gateway but we can do it writing this setting: gateway6 address.


Configure IPv6 network on Fedora and similars

We edit the file:


Were we substitute eth0 with the interface that we are planning to use.

We edit it with these lines:


We can also add a gateway like this: IPV6_DEFAULTGW=address
Now we have and IPv6 network configuration in our computer.


How to test the connectivity

To test connectivity between computers using IPv6 we use the command ping6:


And ready, now we have a basic IPv6 network configuration. Hope it has helped to the ones that doesn't know and for the ones that already know and needed a refreshment of info.

viernes, 20 de julio de 2012

Configuración básica de red IPv6 en Linux

Hoy escribiré sobre como configurar Linux con IPv6. Ya en un tema anterior hable sobre como formar las direcciones IPv6 y los tipos de dirección que existen. Así que hoy iremos directo sobre la práctica.

El tema es corto pero es que es así de sencillo configurar un equipo con IPv6, a lo mejor muchos ya saben pero también Linux siempre tiene gente nueva que busca estas cosas que para muchos ya son muy "sencillas".


Verificar que el sistema tiene activado IPv6

El módulo de IPv6 ya viene integrado en todos los kernel 2.4.x aunque no siempre se encuentra activado.


Con este comando podemos verificar si lo está o no:







Si nos devuelve el mensaje "Si activado" quiere decir que ya se encuentra activado IPv6. De lo contrario lo activamos con estos comandos.

Para Ubuntu o similares:






Para que el módulo IPv6 cargue automáticamente cuando inicia el sistema se agrega la palabra ipv6 al final del archivo:






Para Fedora o similares:

Se edita este archivo:






Y agregamos esta línea al archivo:






Ya que la agregamos reiniciamos el servicio de red.

También para permitir el reenvío de paquetes IPv6 en nuestro equipo por si se llega a necesitar esta función en el futuro, aplicamos lo siguiente.



Habilitar reenvío de paquetes IPv6

En Ubuntu y similares

Con el siguiente comando se puede activar el reenvío:





Y para activar el reenvío desde el inicio del sistema se edita este archivo:






Agregando la siguiente línea:






Después este archivo se copia a /etc.

Y finalmente se edita este archivo:






Agregando esta línea:







Para activarlo en Fedora y similares:

Se edita el archivo:





Agregando esta línea:






Ahora si pasemos a configurar nuestras interfaces.



Configurar red en Ubuntu y similares

Utilizaremos de ejemplo la IPv6 local de sitio FEC0::A987:211:22FF:FE33:4455 con máscara de subred de 64 bits.

Se edita el archivo:






Con las siguientes líneas:






En esta configuración no establecimos gateway pero también se puede escribiendo así: gateway6 dirección.



Configurar red en Fedora y similares

Se edita el archivo:






Donde eth0 se sustituye por la interfaz que estén utilizando.

Se edita con estas líneas:







También se le puede agregar un gateway de esta forma: IPV6_DEFAULTGW=dirección

Con esto ya tenemos una dirección IPv6 en nuestro equipo.



Como comprobar la conectividad

Para comprobar la conectividad entre equipos que utilizan IPv6 se utiliza el ping6:





Y listo ya tenemos una configuración IPv6 básica. Espero que les sirva a los que no saben y a los que no saben por si querían recordarlo.

martes, 17 de julio de 2012

Install a local DNS in Linux with Bind

How to mount a quick and basic DNS in a local network.

First let's see the types of DNS and DNS records.


Types of DNS

Master: Owns the authoritative records of a zone, answers the requests of name resolution as an authoritative server and delegates copies to the slave servers.

Slave: Answers to the name resolution requests as an authority server, but the information is distributed by the master servers.

Cachingonly: Answers to name resoution requests but it is not an authority server, it saves the answers in memory by a determined period of time.

Forwarding: Forwards the requests to a list of name servers.


DNS Records

A (Address): Defines an IP address and the name assigned to the host.

AAAA: It's the replacement of the A records when the traduction is from name to IPv6 address.

MX (Mail eXchanger): It's used to identify mail servers.

CNAME (Canonical Name): Is an alias that is assigned to a host that has an IP address and answers to different names. You can declare various for a host.

NS (Name Server): Defines the principal name servers of a domain. It most have one at least.

SOA (Start Of Authority): This is the first record of the zone and it can only be one for each zone file and it's only present if the server is authority of the domian.
Specifies the primary DNS of the domain, the administrator mail account and the times of refresh.

PTR (Domain Name Pointer): Indicates to which IP address corresponds a name.


Parameters of the SOA record

Serial: The serial number is used to synchronize the zones between the primary and secondary DNS. If when the secondary DNS consults the primary DNS finds that the serial number is bigger than the one it has it means that the zone file has been updated, so it will ask for a copy of the updated version.

Refresh: Is the time that a secondary DNS has to wait to verify again the record values of a primary DNS.

Retry: Is the time that a secondary DNS has to wait after a failed attempt to retrieve data from a primary DNS.

Expire: Is the time that data will remain in a secondary DNS before they expire.

Negative Cache TTL: Is the time that a DNS cache will remember the negative consults (NXDOMAIN).

Ok now that we saw some theory let's start with the installation and configuration for the Ubuntu and Fedora distros.


Installation and configuration for Ubuntu and similars

Versions in example: Ubuntu 10.04, Bind 9.7.0-P1
If the versions are different to these ones they might be some variations, but if it is a Bind version 9 you shouldn't have problems.

Installation:




Now we have to go to the directory /etc/bind there we'll find our configuration files.

Well, for the example we'll use the rukia.com domain, that will also be our DNS, in the example the server has the IP of 10.9.8.50 (rukia.com) and our client has the IP of 10.9.8.1 to which we'll set the domain name of goku.rukia.com.

The first file we have to edit is where the zones are declared:




For default the file contains this:




In this content the next zones are declared: the root public primary DNS, localhost, reverse localhost, broadcast and reverse broadcast.

For our own zone using as example that we want to add the domain rukia.com and that the name of the zone file is db.rukia, we add the zone like this:





Now we add the reverse zone file. The reverse zone is to resolved from an IP address to a domain name. For the example we'll add the reverse zone to the network 10.9.8.0, that is the network to which our example IPs belong (10.9.8.1 and 10.9.8.50) and with the name of the reverse zone file as db.rukiaRev:




Note that the network address is written backwards, our network is 10.9.8.0, so it was written 8.9.10.
The names for the zone files can be any name we want.
In the end the named.conf.default-zones file has to look like this:





Before we continue with the zones, let's check that the named.conf file includes the file named.conf.default-zones, for this we just have to read the next file:



The file must contain this:





Now let's write our zone file for rukia.com (/etc/bind/db.rukia), we'll also add in it the name goku.rukia.com for the client 10.9.8.1 and also that if we search for the name www.rukia.com it will give us the IP 10.9.8.50.
So the file must look like this:






I'll explain the file line by line (from line 0 to 10, without counting spaces)

0 - The TTL is set, the TTL is the Time To Live that the consults to the cache will persist instead of consulting the server, this means that if a domain has already been consulted, and another consult is done inside the TTL time, the consult will be made to the cache, but if this time has expired the consult will be made to the server. In the example I put 120 seconds, thinking in critic situations where the domain name has to be updated instantly. The default time is 6054800 seconds.

1 - The SOA is set and the email account of the domain administrator. The email is written like this: rukia.rukia.com, the @ is changed for a period, but the real email is rukia@rukia.com.

2 to 6 - The SOA parameters.

7 - The NameServer is set for the domain, in this case is the same server (rukia.com). The @ makes reference to the domain name to which the zone belongs, in this case is rukia.com. This means that for this zone @=rukia.com.

8 - The rukia.com domain is pointed to the IP 10.9.8.50.

9 - The canonical name www.rukia.com is set. This means that if rukia.com or www.rukia.com is resolved the answer will always be 10.9.8.50.

10 - The domain name goku.rukia.com is set to the IP 10.9.8.1.

Now let's create the reverse zone file for our network (/etc/bind/db.rukiaRev):






Again I'll explain the file line by line (0 to 9, without counting spaces)

0 - TTL.

1 - The SOA and the administrator email is set.

2 to 6 - SOA parameters.

7 - The NameServer is set, in this case is the same server.

8 - The IP 10.9.8.50 is pointed to the domain rukia.com. Note that is only written the host address from theIP. The network address is 10.9.8.0, so the host address is 0.0.0.50.

9 - The IP 10.9.8.1 is pointed to the domain goku.rukia.com.

Now we're only missing the named.conf.options file, but for Ubuntu there's no need to edit it, only in case of having problems with the reverse resolution or if we see and error that says that the DNS refuses the connections when we are trying to resolve the domain names from a client. If this happens we have to verify that the next options are added to the /etc/bind/named.conf.options file to avoid this errors:





To start the service we have to execute this command:




And ready, we have a functional and quick DNS for our LAN.



Installation and configuration for Fedora and similars

Versions in the example: Fedora 16 Security Spin, Bind 9.8.3-P1-RedHat-9.8.3-2.P1.fc16
If the versions are different to these ones they might be some variations, but as long as it is a Bind 9 there should not be any problem.

Installation:



Well, for the example we'll use the domain rukia.com, that will also be our DNS, in this example the server has the IP address of 10.9.8.50 (rukia.com) and our client has the IP 10.9.8.1 to which we'll set the domain name of goku.rukia.com.

The first file to edit is named.conf:





In this file the options for our DNS and the zones will be declared, for default the file already has this:





In this file the options we are interested in editing are:

listen-on-port 53 {127.0.0.1; }; - Here is set that the server will be listening in the port 53 for the localhost IP. Here we have to add the IP of our local computer so it can attend requests from the client in the LAN, in this case we'll add the example IP that is 10.9.8.50.

directory "/var/named"; - The directory where the zone files will be stored, it can be other directory as long as the named service has the rights to read. For the example we'll leave the default directory.

allow-query {localhost; }; - Sets who'll be permited to consult the DNS, for default it is only allow to localhost. For the example we just need to allow the localhost and our LAN, so we'll add 10.9.8.0/24. If we want to any client to request our DNS we only have to add the word any in place of localhost or an IP address.

recursion yes; - Allow the reverse request. This means that if we make a request to obtain the domain name from an IP it will be allowed.

The file also has the public primary root DNS declared for default.

Now we'll see how does the option section has to look, in which the IP 127.0.0.1 and the local IP assigned to the server (10.9.8.50) will listen to port 53, the directory /var/named will be set as the file zone directory, the server will allow requests from localhost and the LAN, and will allow reverse requests:





For our own zone using as an example that we want to add the domain rukia.com and that our zone file name is named.rukia, we add the zone like this:





Now we add the reverse zone file. The reverse zone file is to resolve the domain name from an IP. For the example we'll add the reverse zone of the network 10.9.8.0, which is the network where our example IPs belong (10.9.8.1 and 10.9.8.50) and the name of our reverse zone file is named.rukiaRev:





Note that the network address is written backwards, our network is 10.9.8.0, so it was written 8.9.10.
The names for the zone files can be any name we want.
At the end the named.conf file must be like this:





Now let's write our zone file for rukia.com (/var/named/named.rukia), we'll also add in it the name goku.rukia.com for the client 10.9.8.1 and also that if we search for the name www.rukia.com it will give us the IP 10.9.8.50.
So the file must look like this:





I'll explain the file line by line (from line 0 to 10, without counting spaces)

0 - The TTL is set, the TTL is the Time To Live that the consults to the cache will persist instead of consulting the server, this means that if a domain has already been consulted, and another consult is done inside the TTL time, the consult will be made to the cache, but if this time has expired the consult will be made to the server. In the example I put 120 seconds, thinking in critic situations where the domain name has to be updated instantly. The default time is 6054800 seconds.

1 - The SOA is set and the email account of the domain administrator. The email is written like this: rukia.rukia.com, the @ is changed for a period, but the real email is rukia@rukia.com.

2 to 6 - The SOA parameters.

7 - The NameServer is set for the domain, in this case is the same server (rukia.com). The @ makes reference to the domain name to which the zone belongs, in this case is rukia.com. This means that for this zone @=rukia.com.

8 - The rukia.com domain is pointed to the IP 10.9.8.50.

9 - The canonical name www.rukia.com is set. This means that if rukia.com or www.rukia.com is resolved the answer will always be 10.9.8.50.

10 - The domain name goku.rukia.com is set to the IP 10.9.8.1.

Now let's create the reverse zone file for our network (/var/named/named.rukiaRev):





Again I'll explain the file line by line (0 to 9, without counting spaces)

0 - TTL.

1 - The SOA and the administrator email is set.

2 to 6 - SOA parameters.

7 - The NameServer is set, in this case is the same server.

8 - The IP 10.9.8.50 is pointed to the domain rukia.com. Note that is only written the host address from theIP. The network address is 10.9.8.0, so the host address is 0.0.0.50.

9 - The IP 10.9.8.1 is pointed to the domain goku.rukia.com.

To start the service we execute this command:





And ready we have a simple local DNS.



Configuration of the DNS for the clients

To set the DNS in the clients we just have to add the DNS IP to our network configuration. I'll explain how to do it with the console, in graphic mode is with the network manager in the manual configuration section for IPv4.

In console we just have to edit the file:





In it we add the next line where we set that our DNS is the server with the IP 10.9.8.50:




With this our clients can now make requests to our server.



How to check the domain names resolution

We can use the commands nslookup and dig, the difference is that dig sends a bit more information.

Check with nslookup:





Check with dig:





And well that is like you can configure a DNS for a LAN really simple and quick.

Any doubt comment please.

viernes, 13 de julio de 2012

Instalar un DNS local en Linux con Bind

Hola hoy voy a escribir sobre como montar un servidor DNS rápido y básico en una red local.

Primero veremos los tipos que existen de DNS y los registros DNS.

Tipos de DNS

Master (Maestro o Primario): Aloja los registros autoritarios de una zona, responde las peticiones de resolución de nombres como servidor de autoridad y delega copias a los servidores esclavo.

Slave (Esclavo o Secundario): Responde a las peticiones de resolución de nombres como servidor de autoridad, pero la información es distribuida por los servidores primarios.

Caching­only (Sólo de cache): Responde a las peticiones de resolución de nombres pero no es servidor de autoridad, las respuestas las guarda en memoria por un período determinado.

Forwarding (de reenvío): Reenvía las peticiones a una lista de servidores de nombres.



Registros DNS

A (Address): Define una dirección IP y el nombre asignado al host.

AAAA: Son el reemplazo de los registros A cuando la traducción que se lleva acabo es de nombre a dirección IPv6.

MX (Mail eXchanger): Se usa para identificar servidores de correo.

CNAME (Canonical Name): Es un alias que se asigna a un host que tiene una dirección IP valida y que responde a diversos nombres. Pueden declararse varios para un host.

NS (Name Server): Define los servidores de nombre principales de un dominio. Debe haber al menos uno.

SOA (Start Of Authority): Este es el primer registro de la zona y sólo puede haber uno en cada archivo de la zona y sólo está presente si el servidor es autoritario del dominio. Especifica el servidor DNS primario del dominio, la cuenta de correo del administrador y tiempos de refresco.

PTR (Domain Name Pointer): Indica a que dirección IP corresponde un nombre.



Parámetros del registro SOA

Serial: El número serial se utiliza para sincronizar las zonas entre los DNS primarios y secundarios. Si el DNS secundario al consultar el primario encuentra que el número serial es mayor al que tiene actualmente quiere decir que se ha actualizado el archivo de zona, por lo que solicitará una copia de la versión actualizada.

Refresh: Es el tiempo que un DNS secundario debe esperar para comprobar nuevamente los valores de registro de un DNS primario.

Retry: Es el tiempo que un DNS secundario debe esperar después de un intento fallido en recuperar datos de un DNS primario.

Expire: Es el tiempo que durarán los datos en un DNS secundario antes de que expiren.

Negative Cache TTL: Es el tiempo que el caché del DNS recordará las consultas negativas (NXDOMAIN)

Bueno ya que vimos algo de teoría empezemos con la instalación y configuración para distribuciones Ubuntu y Fedora.



Instalación y configuración para Ubuntu y similares

Versiones en el ejemplo: Ubuntu 10.04, Bind 9.7.0-P1
Si las versiones son distintas a estas puede haber algunas variaciones, pero siempre y cuando sea un Bind 9 no debe haber problema.

Instalación:






Ahora hay que ir a la carpeta /etc/bind ahí encontraremos nuestros archivos de configuración.

Bueno, para el ejemplo utilizaremos el dominio rukia.com, que será también nuestro DNS, en el ejemplo el servidor tiene la IP 10.9.8.50 (rukia.com) y nuestro cliente de ejemplo es la IP 10.9.8.1 a la cual le pondremos de nombre de dominio goku.rukia.com.

El primer archivo a editar es donde se declaran las zonas:






El archivo por default tiene el siguiente contenido:





En este contenido se declaran las siguientes zonas: los DNS raíz principales públicos, localhost, inversa de localhost, broadcast e inversa de broadcast

Para nuestra propia zona utilizando de ejemplo que queremos agregar el dominio rukia.com y que el nombre de arhivo de zona es db.rukia, agregamos la zona de la siguiente forma:







Ahora agregamos el archivo de zona inversa. La zona inversa es para resolver a partir de una IP para que devuelva el nombre de dominio. Para el ejemplo agregamos la zona inversa de la red 10.9.8.0, que es la red a la cual pertenecen nuestras IP de ejemplo (10.9.8.1 y 10.9.8.50) y de nombre para el archivo de zona inversa como db.rukiaRev:






Noten que la dirección de red se escribe al revés, nuestra red es 10.9.8.0, así que se escribió 8.9.10.
Los nombres para los archivo de zona pueden ser los que queramos.
Al final el archivo named.conf.default-zones debe quedar de la siguiente forma:






Antes de seguir con las zonas revisemos que el archivo named.conf incluya al archivo named.conf.default-zones, para esto sólo hay que leer el siguiente archivo para ver que incluya lo que necesitamos:







El archivo debe contener lo siguiente:







Ahora hagamos nuestro archivo de zona para rukia.com (/etc/bind/db.rukia), en el también agregaremos el nombre goku.rukia.com para el cliente 10.9.8.1 y también que si buscamos el nombre www.rukia.com pueda responder a la IP 10.9.8.50.
Entonces el archivo debe verse así:





Explicaré el archivo por líneas (de la 0 hasta la 10, sin contar espacios)

0 - Se establece el tiempo del TTL, el TTL es el tiempo de vida que durarán las consultas a caché en lugar del servidor , esto quiere decir que si ya se hizo una consulta a un dominio, y se hace otra consulta dentro del tiempo de TTL, la consulta se realizará al caché, de lo contrario si ya expiró el tiempo se hará nuevamente al servidor. En el ejemplo puse solamente 120 segundos, pensando en situaciones critícas en que se necesita actualizar un nombre de dominio y el cambio debe verse al instante. El tiempo de default es 604800 segundos.

1 - Se establece el SOA y la cuenta de correo del administrador del dominio. El correo se escribió de esta forma: rukia.rukia.com, se sustituye el @ por un punto, en realidad el correo es rukia@rukia.com.

2 al 6 - Parámetros del SOA.

7 - Se establece el NameServer para el dominio, en este caso es el mismo servidor (rukia.com). La @ hace referencia al nombre de dominio al que pertenece la zona, en este caso es rukia.com. Esto quiere decir que para esta zona @=rukia.com.

8 - Se apunta el dominio rukia.com a la IP 10.9.8.50.

9 - Se establece el nombre canonico www rukia.com. Esto quiere decir que si se resuelve rukia.com o www.rukia.com la respuesta siempre será 10.9.8.50.

10 - Se le establece el nombre de dominio goku.rukia.com a la IP 10.9.8.1.

Ahora vamos a crear el archivo de zona inversa para nuestra red (/etc/bind/db.rukiaRev):







Nuevamente explicaré el archivo por líneas (0 a 9, sin contar espacios)

0 - TTL.

1 - Establece SOA y cuenta de correo del administrador .

2 al 6 - Parámetros del SOA.

7 - Se establece el NameServer, en este caso es el mismo servidor.

8 - Se apunta la IP 10.9.8.50 al dominio rukia.com. Noten que sólo se escribe la dirección de host de la IP. La dirección de red es 10.9.8.0, así que la de host es 0.0.0.50.

9 - se apunta la IP 10.9.8.1 al dominio goku.rukia.com.

Ahora sólo falta el archivo named.conf.options, pero para Ubuntu no se necesita editar, sólo en caso de presentar problemas en la resolución inversa o que se muestre un error que diga que el DNS rechaza las conexiones al momento de intentar resolver los nombres de dominio desde un cliente, verifiquen que se agreguen las siguientes opciones al archivo /etc/bind/named.conf.options para evitar esos errores:






Para iniciar el servicio ejecutamos el siguiente comando:




Y listo ya tenemos un DNS rápido y funcional para nuestra LAN.



Instalación y configuración para  Fedora y similares

Versiones en el ejemplo: Fedora 16 Security Spin, Bind 9.8.3-P1-RedHat-9.8.3-2.P1.fc16
Si las versiones son distintas a estas puede haber algunas variaciones, pero siempre y cuando sea un Bind 9 no debe haber problema.


Instalación:





Bueno, para el ejemplo utilizaremos el dominio rukia.com, que será también nuestro DNS, en el ejemplo el servidor tiene la IP 10.9.8.50 (rukia.com) y nuestro cliente de ejemplo es la IP 10.9.8.1 a la cual le pondremos de nombre de dominio goku.rukia.com.

El primer archivo a editar es el archivo named.conf:






En este archivo se declarán las opciones para nuestro DNS y las zonas, por default el archivo ya contiene lo siguiente:





En este archivo, las opciones que nos interesan editar son:

listen-on-port 53 { 127.0.0.1; }; - Aquí se establece que el servidor estará escuchando en el puerto 53 para la IP del localhost. Aquí hay que agregar la IP local de nuestro equipo para que pueda atender peticiones de los clientes en la LAN, en este caso agregaremos la IP del ejemplo que es 10.9.8.50.

directory "/var/named"; - Se establece el directorio donde se van a encontrar los archivos de zona, puede ser otro directorio siempre y cuando el servicio named tenga permisos para leer. Para el ejemplo dejaremos este directorio default.

allow-query { localhost; }; - Se establece a quienes se les va a permitir hacer consultas nuestro DNS, por default sólo se le permite a localhost como se puede observar. Para el ejemplo sólo permitiremos a localhost y nuestra red local, por lo que agregaremos 10.9.8.0/24. Si queremos que cualquier cliente haga consultas a nuestro DNS sólo agregamos la palabra any en lugar de localhost o una dirección de red.

recursion yes; - Permitir la consulta inversa. Quiere decir que si hacemos una consulta para obtener el nombre de dominio a través de una IP sea permitido.

También viene ya declarado por default los DNS raíz principales públicos.

A continuación se ve como debe quedar nuestra sección de opciones, en la que además de escuchar el puerto 53 en la IP 127.0.0.1, también lo hará en la IP local asignada al servidor (10.9.8.50), se establecerá el directorio /var/named como el directorio de archivos de zona, que tambíen permitirá consultas a localhost y la red de la LAN y permitirá consultas inversas:




Para nuestra propia zona utilizando de ejemplo que queremos agregar el dominio rukia.com y que el nombre de arhivo de zona es named.rukia, agregamos la zona de la siguiente forma:






Ahora agregamos el archivo de zona inversa. La zona inversa es para resolver a partir de una IP para que devuelva el nombre de dominio. Para el ejemplo agregamos la zona inversa de la red 10.9.8.0, que es la red a la cual pertenecen nuestras IP de ejemplo (10.9.8.1 y 10.9.8.50) y de nombre para el archivo de zona inversa como named.rukiaRev:




 
 

Noten que la dirección de red se escribe al revés, nuestra red es 10.9.8.0, así que se escribió 8.9.10.
Los nombres para los archivo de zona pueden ser los que queramos.
Al final el archivo named.conf debe quedar de la siguiente forma:






Ahora hagamos nuestro archivo de zona para rukia.com (/var/named/named.rukia), en el también agregaremos el nombre goku.rukia.com para el cliente 10.9.8.1 y también que si buscamos el nombre www.rukia.com pueda responder a la IP 10.9.8.50.
Entonces el archivo debe verse así:





Explicaré el archivo por líneas (de la 0 hasta la 10, sin contar espacios)

0 - Se establece el tiempo del TTL, el TTL es el tiempo de vida que durarán las consultas a caché en lugar del servidor , esto quiere decir que si ya se hizo una consulta a un dominio, y se hace otra consulta dentro del tiempo de TTL, la consulta se realizará al caché, de lo contrario si ya expiró el tiempo se hará nuevamente al servidor. En el ejemplo puse solamente 120 segundos, pensando en situaciones critícas en que se necesita actualizar un nombre de dominio y el cambio debe verse al instante. El tiempo de default es 604800 segundos.

1 - Se establece el SOA y la cuenta de correo del administrador del dominio. El correo se escribió de esta forma: rukia.rukia.com, se sustituye el @ por un punto, en realidad el correo es rukia@rukia.com.

2 al 6 - Parámetros del SOA.

7 - Se establece el NameServer para el dominio, en este caso es el mismo servidor (rukia.com). La @ hace referencia al nombre de dominio al que pertenece la zona, en este caso es rukia.com. Esto quiere decir que para esta zona @=rukia.com.

8 - Se apunta el dominio rukia.com a la IP 10.9.8.50.

9 - Se establece el nombre canonico www rukia.com. Esto quiere decir que si se resuelve rukia.com o www.rukia.com la respuesta siempre será 10.9.8.50.

10 - Se le establece el nombre de dominio goku.rukia.com a la IP 10.9.8.1.

 Ahora vamos a crear el archivo de zona inversa para nuestra red (/var/named/named.rukiaRev):






Nuevamente explicaré el archivo por líneas (0 a 9, sin contar espacios)

0 - TTL.

1 - Establece SOA y cuenta de correo del administrador .

2 al 6 - Parámetros del SOA.

7 - Se establece el NameServer, en este caso es el mismo servidor.

8 - Se apunta la IP 10.9.8.50 al dominio rukia.com. Noten que sólo se escribe la dirección de host de la IP. La dirección de red es 10.9.8.0, así que la de host es 0.0.0.50.

9 - se apunta la IP 10.9.8.1 al dominio goku.rukia.com.


Para iniciar el servicio ejecutamos el siguiente comando:






Y listo ya tenemos un DNS sencillo para nuestra LAN.



Configuración del DNS en los clientes

Para establecer el DNS en los clientes sólo hay que agregar la IP del servidor de nombres de dominio o DNS a nuestra configuración de red. Voy a explicar como se haría en modo consola, en modo gráfico es con el editor de conexiones de red en configuración manual para IPv4.

En consola sólo hay que editar el archivo:






En el agregamos la siguiente línea en donde establecemos que nuestro DNS es el servidor con la IP 10.9.8.50:




Ya con esto nuestroa clientes podrán consultar a nuestro DNS.



Como comprobar la resolución de nombres de dominio

Se pueden utilizar los comandos nslookup y dig, la diferencia es que dig nos manda un poco más de información.

Comprobar con nslookup:






Comprobar con dig:






Y bueno así es como se puede configurar un DNS para una LAN de forma rápida y sencilla.

Cualquier duda comenten. Saludos!