DNSCrypt (Español) - ArchWiki

# DNSCrypt (Español)

DNSCrypt encrypta y autentifica el tráfico DNS entre el usuario y la resolución DNS, previene la suplantación local de las consultas DNS, asegurando que las respuestas DNS son enviadas por el servidor de eleccion. [1]

## Instalación

Instale el paquete dnscrypt-proxy disponible en los repositorios oficiales.

## Configuración

Cuando `dnscrypt-proxy.socket` esta activado. Acepta las peticiones entrantes en `127.0.0.1:53` a una resolucion DNS. La resolucion DNS por defecto para `dnscrypt-proxy.service` es dnscrypt.eu-nl. Los nombres del resolver compatibles son visibles en la primera columna de `/usr/share/dnscrypt-proxy/dnscrypt-resolvers.csv`.

Para cambiar el valor por defecto editar `dnscrypt-proxy.service`. Se recomienda elegis un proveedor creca de su ubicacion.

Modificar el archivo Resolv.conf (Español) y reemplazar el conjunto actual de direcciones del resolver con localhost:

    nameserver 127.0.0.1

Otros programas pueden sobreescribir este ajuste; consulte Resolv.conf (Español)#Conservar las configuraciones de DNS para mas detalles.

## Iniciar dnscrypt

Está disponible como un servicio de systemd: `dnscrypt-proxy.service`

## Consejos y trucos

### DNSCrypt como un reenviador para un caché DNS local

Se recomienda ejecutar DNSCrypt como un reenviador para un caché DNS local, de lo contrario cada consulta única hará una ida y vuelta a la resolucion del upstream. Cualquier programa de almacenamiento de cache DNS local deberia trabajar. Los siguientes ejemplos muestran la configuracion para Unbound y dnsmasq.

#### Ejemplo: configuración para Unbound

Configure Unbound a su gusto (recuerde ajustar /etc/resolv.conf para utilizar el servidor DNS local[broken link: invalid section]) y añada las siguientes líneas al final de la sección`server` en `/etc/unbound/unbound.conf`:

    do-not-query-localhost: no
    forward-zone:
      name: "."
      forward-addr: 127.0.0.1@40

Nota: El puerto 40 es dado como un ejemplo de cómo Unbound escucha por defecto el puerto 53, estos deben ser diferentes.

Inicie el servicio `unbound.service` de systemd. Después configure DNScrypt para que coincidan la IP y el PORT presentes en `forward-zone` de Unbound en `/etc/conf.d/dnscrypt-proxy`:

    DNSCRYPT_LOCALIP=127.0.0.1
    DNSCRYPT_LOCALPORT=40

Nota: DNSCrypt debe ser iniciado antes que Unbound, así que incluya `unbound.service` en una línea `Before=` en la sección `[Unit]` de `dnscrypt-proxy.service`.

Reinicie `dnscrypt-proxy.service` y `unbound.service` para aplicar los cambios.

#### Ejemplo: configuración para dnsmasq

Configure dnsmasq como una caché DNS local. He aquí la configuración básica para trabajar con DNSCrypt:

    /etc/dnsmasq.conf

    no-resolv
    server=127.0.0.2#2053
    listen-address=127.0.0.1

Si ha configurado DNSCrypt para usar un «resolver» con la validación DNSSEC activada, asegúrese de activarla también en dnsmasq:

    /etc/dnsmasq.conf

    proxy-dnssec

Configure DNSCrypt para escuchar en `127.0.0.2`, donde dnsmasq realizará la consulta:

    /etc/conf.d/dnscrypt-proxy

    DNSCRYPT_LOCALIP=127.0.0.2
    DNSCRYPT_LOCALPORT=2053

Reinicie `dnscrypt-proxy.service` y `dnsmasq.service` para aplicar los cambios.

### Activar EDNS0

Los mecanismos de extensión de DNS permiten, entre otras cosas, que a un cliente especifique cuán grande puede ser una respuesta a través de UDP.

Agregue la siguiente línea a `/etc/resolv.conf`:

    options edns0

También es posible que desee agregar el siguiente argumento a dnscrypt-proxy:

    --edns-payload-size=<bytes>

El tamaño por defecto es 1252 bytes, con valores de hasta 4096 siguen siendo, supuestamente, seguros. Un valor por debajo o igual a 512 bytes desactivará este mecanismo, a menos que un cliente envíe un paquete con una sección OPT, proporcionando un tamaño de carga útil.

#### Test de EDNS0

Haga uso del DNS Reply Size Test Server, utilizando la herramienta de línea de órdenes dig, que forma parte del paquete dnsutils[broken link: replaced by bind-tools] disponible en los repositorios oficiales, para emitir una consulta TXT para el nombre rs.dns-oarc.net:

    $ dig +short rs.dns-oarc.net txt

Con EDNS0 funcionando, la salida debe ser similar a esta:

    rst.x3827.rs.dns-oarc.net.
    rst.x4049.x3827.rs.dns-oarc.net.
    rst.x4055.x4049.x3827.rs.dns-oarc.net.
    "2a00:d880:3:1::a6c1:2e89 DNS reply size limit is at least 4055 bytes"
    "2a00:d880:3:1::a6c1:2e89 sent EDNS buffer size 4096"

Categories:

- Domain Name System (Español)
- Encryption (Español)

Hidden categories:

- Pages with broken section links
- Pages with broken package links