Índice/Index

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.