UNPKG

arch-wiki-md-repo

Version:

All arch-wiki articles in markdown format, updated every two days.

133 lines (83 loc) 6.21 kB
[DNSCrypt](http://dnscrypt.org/) 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]](https://www.reddit.com/r/sysadmin/comments/2hn435/dnssec_vs_dnscrypt/ckuhcbu) ## Contents * [1 Instalación](#Instalaci.C3.B3n) * [2 Configuración](#Configuraci.C3.B3n) * [3 Iniciar dnscrypt](#Iniciar_dnscrypt) * [4 Consejos y trucos](#Consejos_y_trucos) * [4.1 DNSCrypt como un reenviador para un caché DNS local](#DNSCrypt_como_un_reenviador_para_un_cach.C3.A9_DNS_local) * [4.1.1 Ejemplo: configuración para Unbound](#Ejemplo:_configuraci.C3.B3n_para_Unbound) * [4.1.2 Ejemplo: configuración para dnsmasq](#Ejemplo:_configuraci.C3.B3n_para_dnsmasq) * [4.2 Activar EDNS0](#Activar_EDNS0) * [4.2.1 Test de EDNS0](#Test_de_EDNS0) ## Instalación Instale el paquete [dnscrypt-proxy](https://www.archlinux.org/packages/?name=dnscrypt-proxy) disponible en los [repositorios oficiales](/index.php/Official_repositories_(Espa%C3%B1ol) "Official repositories (Español)"). ## 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)](/index.php/Resolv.conf_(Espa%C3%B1ol) "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](/index.php/Resolv.conf_(Espa%C3%B1ol)#Conservar_las_configuraciones_de_DNS "Resolv.conf (Español)") para mas detalles. ## Iniciar dnscrypt Está disponible como un servicio de [systemd](/index.php/Systemd_(Espa%C3%B1ol) "Systemd (Español)"): `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](/index.php/Unbound "Unbound") y [dnsmasq](/index.php/Dnsmasq_(Espa%C3%B1ol) "Dnsmasq (Español)"). #### Ejemplo: configuración para Unbound Configure [Unbound](/index.php/Unbound "Unbound") a su gusto (recuerde [ajustar /etc/resolv.conf para utilizar el servidor DNS local](/index.php/Unbound#Set_.2Fetc.2Fresolv.conf_to_use_the_local_DNS_server "Unbound")) 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](/index.php/Systemd_(Espa%C3%B1ol) "Systemd (Español)"). 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](/index.php/Dnsmasq_(Espa%C3%B1ol)#Configuraci.C3.B3n_de_la_cach.C3.A9_DNS "Dnsmasq (Español)"). 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](https://en.wikipedia.org/wiki/es:Mecanismos_de_extension_de_DNS "wikipedia:es:Mecanismos de extension 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](https://www.dns-oarc.net/oarc/services/replysizetest), utilizando la herramienta de línea de órdenes *dig*, que forma parte del paquete [bind-tools](https://www.archlinux.org/packages/?name=bind-tools) disponible en los [repositorios oficiales](/index.php/Official_repositories_(Espa%C3%B1ol) "Official repositories (Español)"), 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" ```