Administrar un dominio con EU.org y Knot
Tags: dns, knot, alojamiento, raspberrypi
Published: 2018-09-02 22:34:00

---
title: Administrar un dominio con EU.org y Knot
published: true
description: Cómo obtener y administrar en auto-alojamiento un nombre de dominio gratuito con EU.org y Knot. Artículo original por @manu_thy.
tags: DNS, Knot, alojamiento, raspberrypi
cover_image: "https://thepracticaldev.s3.amazonaws.com/i/m4u0bpftc5fj3x67b7c0.jpg"
---

*Este artículo es una traducción de [Obtenir et gérer un nom de domaine (gratuit)
avec Knot et EU.org](https://chezmanu.eu.org/DNS-knot-eu-org.htm), de [Emmanuel Bourguin](https://chezmanu.eu.org/apropos.htm).*

## Nombre de dominio, DNS, zona, ¿de qué hablamos?

Para proveer servicios en Internet, es generalmente necesario poseer un nombre de dominio.

En efecto, si las maquinas comunican entre ellas identificándose por sus direcciones IP, nosotrxs, humanxs, nos acordamos más fácilmente de un nombre que de una sucesión de cifras. Además, un nombre de dominio que sirve como identificador, que se traduce en una dirección IP, da más flexibilidad. Cuando se cambia la dirección IP de la maquina que alberga un servicio, el nombre de dominio puede seguir siendo el mismo, así el cambio es transparente para lxs usuarixs del servicio.

Hay que establecer un mecanismo para realizar la correspondencia entre un nombre y una dirección IP (u otros tipos de valores). La operación se llama « resolución de un nombre de dominio ». Una correspondencia entre una entrada y un valor, es el rol de una base de datos. En nuestro caso, esta base de datos es mundial, repartida y sin centro. La tarea de llenar esta base de datos es de cada uno de los dueños de nombres de dominio: cada unx es responsable de sus « zonas ». Lo han entendido: esta base de datos mundial se llama el DNS, y funciona gracias a los servidores DNS.

El papel de los servidores es simplemente responder a consultas, y existen dos tipos de servidores DNS, que se diferencian por la forma que tienen de obtener la información de resolución:

1 − Los servidores puestos a disposición por tu proveedor de acceso a Internet, que van a resolver las consultas DNS para ti, son llamados comúnmente « resolvers ». Si el servidor no conocer la respuesta, entonces la va a solicitar a otros servidores que la conocen, a veces en varias etapas por lo que los llamamos servidores « recursivos ». También se los llama servidores de « caché », porque no conocen las respuestas, pero una vez que las obtienen, las guardan un cierto tiempo en su memoria. Si estos servidores mienten en la respuesta que proveen, los llamamos « DNS mentirosos », lo que es el caso ahora para los servidores de resolución de los grandes proveedores de acceso a Internet en Francia, principalmente por razones políticas.

2 − Si el servidor conoce la respuesta sin tener que preguntar a otro, es porque es el servidor encargado de proveer las respuestas para este dominio en particular. En este caso, se dice que el servidor « hace autoridad » sobre la zona DNS que provee. Entonces, para asegurar la administración de tu nombre de dominio, habrá que implementar uno (o varios) servidor DNS que haga autoridad.

Para eso, nada difícil, [Knot DNS](https://www.knot-dns.cz/), software originario de República Checa, que vamos a utilizar, está disponible con Unix, y un Raspberry Pi es ampliamente suficiente en términos de recursos para hacerlo funcionar.

## Consideraciones sobre el hecho de pagar para un nombre de dominio

Se sobreentiende desde años que hay que pagar para obtener un nombre de dominio, para un tiempo limitado. Así que nunca somos dueñxs del nombre de dominio, más bien somos inquilinxs. Aunque esta idea de pagar para un nombre de dominio es ampliamente difundida, no es correcta. Para ser más precisxs, es muy común tener que pagar para nombres de dominio de dos componentes, como [algo.com](algo.com), [otracosa.net](otracosa.net), [lutte-ouvriere.org](lutte-ouvriere.org) o [potamochère.fr](potamochère.fr). Pero un nombre de dominio también puede contener más de dos componentes, por ejemplo [edgard.fdn.fr](edgard.fdn.fr) es un nombre de dominio tanto como [google.be](google.be).

Así que la asociación [French Data Network](https://fdn.fr/) provee a sus suscriptores un nombre de dominio en [.fdn.fr](fdn.fr), dos de mis hijos gozan de uno de estos dominios, sin haber pagado nada, solamente tuve que llamar al camarada-presidente.

Cuando estaba suscrito al proveedor de acceso Nerim, tenía a mi disposición el nombre de dominio [emmanuel.bourguin.pck.nerim.net](emmanuel.bourguin.pck.nerim.net) que apuntaba
a mi IP pública, sin costos adicional. [Netlib.re](http://netlib.re/) que está alojado en la infraestructura del proveedor de acceso a Internet asociativo [Alsace Réseau Neutre](https://www.arn-fai.net/) también te permite tener un nombre de dominio gratuito.

OjO. El servicio [FreeNom](http://www.freenom.com/fr/index.html) que pretende de manera errónea ser el primero y único proveedor de nombres de dominio gratuitos, no te considera como titular de los dominios que te proveen, sino como simple usuarix, como se puede leer en sus [CGU](http://www.freenom.com/fr/index.html), con la ausencia de garantías que implica.

[EU.org](https://eu.org/) también provee nombres de dominio gratuitos. Esta iniciativa fue tomada en reacción a la política de precios exorbitantes instaurada en un momento de la Historia donde se volvía vital adquirir nombres de dominio. Si en 2016 los precios han bajado para llegar a ser razonables, algunos siguen siendo vergonzosos (en el momento de la primera redacción de este artículo: 40 euros por año para un .black, o un .lgbt, ¡3.000 euros! para un .auto). Además, la idea de pagar para poder nombrarse es... curiosa. Al
contrario de un _registrar_ clásico/comercial, EU.org no administrará la zona DNS asociada al nombre de dominio proveído. De eso se encargarán los servidores que vamos a instalar.

## Instalación de Knot DNS

En una consola, bajo Debian:

```bash
sudo apt-get -y install knot 
```

## Configuración de Knot DNS

Empezamos por la edición del archivo de configuración principal de Knot:

```bash
sudo nano /etc/knot/knot.conf
```

En la sección « zone » definimos una nueva zona, que corresponde a nuestro nombre de dominio, aquí « exemple.eu.org ». El archivo de configuración correspondiente será llamado « exemple.eu.org.zone ».

```yaml
  - domain: exemple.eu.org
    file: "exemple.eu.org.zone" 
```

![Configuración de Knot](https://thepracticaldev.s3.amazonaws.com/i/6i8gkgicuevkk3uxhfmp.png)

Ahora vamos a crear y editar el archivo de zona, en `/var/lib/knot/`:

```bash
sudo touch /var/lib/knot/exemple.eu.org.zone
sudo nano /var/lib/knot/exemple.eu.org.zone
```

Colocaremos el contenido siguiente:

```text
@                          10800   IN  SOA     exemple.eu.org. e.fdn.fr.  (
                             2018040301    ;  Numero
                             28800        ;  Refresh
                             14400        ;  Retry
                             3600000      ;  Expire
                             86400 )      ;  Minimum

                             IN 3600   NS  ns.exemple.eu.org.
exemple.eu.org.     IN 3600   A    93.184.216.34
exemple.eu.org.     IN 3600   AAAA    2606:2800:220:1:248:1893:25c8:1946
```

Ten cuidado en adaptar tu archivo de zona a tu propio nombre de dominio. También tomar en cuenta que los "punto y coma" finales son obligatorios.

En la primera línea, luego de tu nombre de dominio, tienes que colocar tu dirección de correo electrónico, remplazando el `@` por un punto. Por convención, se considera que el primer punto corresponde a `@`, por eso si tu dirección es algo como `juan.carlos@exemple.eu.org`, tienes que colocar `juan\.carlos`.

Los diferentes valores numéricos son tiempos expresados en segundos. La explicación en detalle sale del marco de este artículo. Los más importantes son el número de serie, « 2016121300 » en el ejemplo, que tendrás que incrementar cada vez que actualizas tu archivo de zona. Una astucia clásica consiste en colocar la fecha del día, de esta forma evitas que el número se decremente, lo que tendría consecuencias complicadas.

El otro valor importante es el TTL, que se ve en las dos últimas líneas. Es una indicación de la duración de validez de la información enviada por tu servidor. Aquí es de 3.600 segundos, o sea una hora. Significa que los servidores de resolución DNS de los proveedores de acceso a Internet considerarán que la respuesta « 92.93.169.42 » a la pregunta « ¿cuál es la dirección IP asociada al nombre de dominio exemple.eu.org? » es valida una hora, y luego volverán a preguntar. Si algún día tienes que cambiar la IP asociada a tu nombre de dominio, piensa en bajar primero este TTL para que el corte de servicio sea el menor posible. Luego vuelve a subir el valor para evitar que tu servidor reciba demasiadas consultas inútiles.

## Reinicio y verificación

Una vez realizada la configuración, reiniciamos Knot con el comando:

```bash
sudo service knot restart
```

Luego podemos verificar en los logs que todo funciona como esperado:

```bash
sudo service knot status
```

![Estatus del servidor Knot](https://thepracticaldev.s3.amazonaws.com/i/s7b6nybx0y7mnf9toniw.png)

Tenemos la confirmación que la sintaxis del archivo de configuración era correcta. Una vez eso hecho, piensa en abrir el puerto 53 en TCP y UDP en las opciones NAT de tu router, y a redirigirlo hacia la maquina sobra la cual Knot está corriendo.

## Inscripción en EU.org

Primero, asegúrate de haber leído atentamente las [condiciones generales de EU.org](https://nic.eu.org/fr/policy.html) así que las [reglas adicionales](https://nic.eu.org/fr/top-policy.html) para los subdominios directos.

Luego, puedes ir a la [página de registro](https://nic.eu.org/arf/fr/contact/create/), llenar el formulario de creación de cuenta y validar tu correo electrónico para activarla.

![Creación de la cuenta en EU.org](https://thepracticaldev.s3.amazonaws.com/i/uhj3n6w0ngpcit7y9q89.jpg)
![Cuenta creada](https://thepracticaldev.s3.amazonaws.com/i/0uo1katfqttb5xs20o0p.jpg)
![Correo de confirmación](https://thepracticaldev.s3.amazonaws.com/i/ofvttqj7zhgtdc0qt3q4.jpg)
![Cuenta activada](https://thepracticaldev.s3.amazonaws.com/i/kqmjq8osr28hbai5lwl8.jpg)

## Creación de un nombre de dominio

Ahora, solo te queda [crear tu nombre de dominio](https://nic.eu.org/arf/fr/domain/new/).

Coloca el nombre completo del dominio en el primer campo, en este caso `exemple.eu.org`. Los siguientes campos, para la identificación en el registro _whois_ están pre-llenados. Puedes elegir de conservarlos privados, en este caso solamente EU.org tendrá acceso a ellos.

En el campo « Name1 » colocar ns.TUDOMINIO.eu.org, en este caso « ns.exemple.eu.org ». Y luego en el campo « IP1» la dirección IP de la maquina dónde funciona Knot (es el momento de asegurarte que abriste el puerto 53 en tu router).

![Creación del nombre de dominio en EU.org](https://thepracticaldev.s3.amazonaws.com/i/1c7gkjg9rvkdbo2nfv1y.jpg)

Una vez hecho, el sistema de EU.org procederá a las verificaciones y si todo está correcto, tu solicitud será enviada a las personas que administran EU.org.

![Solicitud enviada](https://thepracticaldev.s3.amazonaws.com/i/623d4n0wahm9zje40vhd.png)

En este momento, todavía el nombre de dominio no ha sido creado. Se puede verificar con el comando siguiente:

```bash
host exemple.eu.org
```

que devuelve el error « NXDOMAIN » (Non-eXistent Domain).

![Dominio inexistente](https://thepracticaldev.s3.amazonaws.com/i/g7bs42sbvpj0xpaaol4i.png)

Luego de que EU.org haya aceptado tu solicitud, recibirás un correo de notificación:

![Correo de confirmación del nombre de dominio](https://thepracticaldev.s3.amazonaws.com/i/5h9v8b73o6e2fb6loz9c.jpg)

Ahora sí, luego de algunos minutos, o hasta algunas horas, el nombre de dominio llega a existir.

![Dominio creado](https://thepracticaldev.s3.amazonaws.com/i/me4m74rwnuj9c477o9cs.png)

## Epilogo (temporal)

Listo, ya tienes tu nombre de dominio gracias a Knot y EU.org. Nota que si bien el servicio es gratuito para ti, no deja de tener un costo. Así que si tienes la posibilidad, considera realizar una pequeña donación a EU.org.

Este tutorial ha sido escrito en la óptica de « auto-alojamiento ». Según las buenas prácticas, deberías tener por lo menos dos servidores que hagan autoridad sobre tu nombre de dominio, si fuera posible lo más lejos posible a nivel geográfico, y alojados en dos sistemas autónomos diferentes, con el fin de minimizar los riesgos de interrupción de servicio si una de las maquinas dejará de estar disponible.

En el marco del auto-alojamiento donde tu sitio y tu servidor de correo personal están en tu casa, detrás de una línea ADSL o de fibra, esta precaución es exagerada. Si tu conexión se corta, no sirve de nada que el servidor de nombres de dominio siga funcionando, ya que de todas formas tu sitio será inaccesible.

Entonces, toma este tutorial como lo que es: un ejemplo _quick & dirty_ para una persona particular que se auto-aloja y quiere disponer de un nombre de dominio sin mayores costos, no como un artículo de referencia sobre DNS.

Este artículo será seguido por una segunda parte, que explicará que tener redundancia sí puede ser útil en algunos casos, y cómo añadir esta redundancia.