Cómo Configurar DNS sobre HTTPS en macOS
Esta guía le ayudará a configurar DNS sobre HTTPS (DoH) en su sistema macOS, proporcionando instrucciones completas desde la configuración básica hasta la configuración avanzada.
Requisitos Previos
- macOS 10.15 (Catalina) o superior
- Privilegios de administrador
- Conexión de red estable
- Conocimientos básicos de línea de comandos
Configuración a Nivel de Sistema
Paso 1: Usando Configuración del Sistema
- Haga clic en el menú Apple
- Seleccione “Configuración del Sistema” (o “Preferencias del Sistema”)
- Haga clic en “Red”
- Seleccione la conexión de red actual
- Haga clic en “Detalles…”
- Seleccione la pestaña “DNS”
Paso 2: Configurar Servidores DNS
- Haga clic en el botón ”+” para añadir servidores DNS
- Ingrese las siguientes direcciones de servidor:
1.1.1.1 1.0.0.1 2606:4700:4700::1111 2606:4700:4700::1001
Paso 3: Configuración mediante Terminal
Abra Terminal y ejecute los siguientes comandos:
# Ver configuración DNS actual
scutil --dns
# Configurar servidores DNS
networksetup -setdnsservers Wi-Fi 1.1.1.1 1.0.0.1
# Verificar configuración
networksetup -getdnsservers Wi-Fi
Usando Clientes de Terceros
DNSCrypt-Proxy
- Instalación
# Instalar usando Homebrew
brew install dnscrypt-proxy
# O instalación manual
curl -L https://github.com/DNSCrypt/dnscrypt-proxy/releases/latest/download/dnscrypt-proxy-macos-amd64.tar.gz | tar xz
- Configuración
Edite el archivo dnscrypt-proxy.toml
:
listen_addresses = ['127.0.0.1:53']
server_names = ['cloudflare', 'google']
doh_servers = true
require_dnssec = true
require_nolog = true
require_nofilter = true
force_tcp = false
timeout = 2500
keepalive = 30
- Iniciar Servicio
# Instalar servicio
sudo brew services start dnscrypt-proxy
# O iniciar manualmente
sudo dnscrypt-proxy -service install
sudo dnscrypt-proxy -service start
Perfiles DNS Cifrados
- Crear Perfil de Configuración
Cree un archivo .mobileconfig
:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>PayloadContent</key>
<array>
<dict>
<key>DNSSettings</key>
<dict>
<key>DNSProtocol</key>
<string>HTTPS</string>
<key>ServerURL</key>
<string>https://cloudflare-dns.com/dns-query</string>
</dict>
<key>PayloadDescription</key>
<string>Configurar DNS sobre HTTPS</string>
<key>PayloadDisplayName</key>
<string>Configuración DNS</string>
<key>PayloadIdentifier</key>
<string>com.example.dns</string>
<key>PayloadType</key>
<string>com.apple.dnsSettings.managed</string>
<key>PayloadUUID</key>
<string>A1B2C3D4-E5F6-G7H8-I9J0-K1L2M3N4O5P6</string>
<key>PayloadVersion</key>
<integer>1</integer>
</dict>
</array>
<key>PayloadDescription</key>
<string>Configuración de DNS sobre HTTPS</string>
<key>PayloadDisplayName</key>
<string>Configuración DoH</string>
<key>PayloadIdentifier</key>
<string>com.example.doh</string>
<key>PayloadRemovalDisallowed</key>
<false/>
<key>PayloadType</key>
<string>Configuration</string>
<key>PayloadUUID</key>
<string>Q1R2S3T4-U5V6-W7X8-Y9Z0-A1B2C3D4E5F6</string>
<key>PayloadVersion</key>
<integer>1</integer>
</dict>
</plist>
- Instalar Perfil
- Haga doble clic en el archivo de configuración
- Siga las indicaciones del sistema para instalar
- Verifique en Configuración del Sistema
Verificar Configuración
Método 1: Usando Terminal
# Probar resolución DNS
dig example.com @127.0.0.1
# Verificar DNSSEC
dig example.com @127.0.0.1 +dnssec
# Verificar servidor DoH
dig whoami.cloudflare CH TXT @127.0.0.1
Método 2: Usando Herramientas del Sistema
- Abra “Utilidad de Red”
- Seleccione “Búsqueda”
- Ingrese el nombre de dominio para probar
- Verifique los resultados de la resolución
Método 3: Prueba en Línea
- Visite el sitio de prueba de fuga DNS
- Ejecute la prueba estándar
- Verifique el enrutamiento de las solicitudes DNS
Solución de Problemas
Problemas Comunes
-
Falla en la Resolución DNS
- Verifique la conexión de red
- Confirme la configuración DNS
- Reinicie el servicio de red
- Limpie la caché DNS
-
Problemas de Rendimiento
- Elija el servidor más cercano
- Optimice la configuración de caché
- Monitoree el tiempo de respuesta
- Verifique los recursos del sistema
-
Problemas con Perfil de Configuración
- Verifique el formato del archivo
- Confirme la configuración de permisos
- Reinstale la configuración
- Actualice la versión del sistema
Diagnóstico del Sistema
- Diagnóstico de Red
# Probar conectividad de red
ping 1.1.1.1
# Verificar enrutamiento
traceroute 1.1.1.1
# Ver estado de la red
networksetup -listallnetworkservices
- Diagnóstico DNS
# Limpiar caché DNS
sudo dscacheutil -flushcache
sudo killall -HUP mDNSResponder
# Ver configuración DNS
scutil --dns
# Probar resolución DNS
dig +trace example.com
Mejores Prácticas
-
Selección de Proveedor
- Evalúe políticas de privacidad
- Verifique disponibilidad del servicio
- Considere ubicación geográfica
- Pruebe velocidad de conexión
-
Recomendaciones de Seguridad
- Active DNSSEC
- Use proveedores confiables
- Actualizaciones regulares del sistema
- Monitoree actividad de red
-
Optimización de Rendimiento
- Elija servidores más cercanos
- Optimice configuración de caché
- Monitoree métricas de rendimiento
- Mantenimiento regular
Implementación Empresarial
Configuración MDM
-
Crear Archivos de Configuración
- Configure parámetros DNS
- Configure opciones de seguridad
- Defina alcance de implementación
- Prepare certificados de firma
-
Estrategia de Implementación
- Envíe perfiles de configuración
- Monitoree estado de implementación
- Gestione informes de error
- Actualice configuraciones
Configuración Automatizada
- Usando Scripts
#!/bin/bash
# Configurar DoH
configure_doh() {
# Instalar herramientas necesarias
brew install dnscrypt-proxy
# Hacer copia de seguridad de la configuración
cp /usr/local/etc/dnscrypt-proxy.toml /usr/local/etc/dnscrypt-proxy.toml.bak
# Iniciar servicio
brew services start dnscrypt-proxy
}
- Usando Herramientas de Gestión de Configuración
# Ejemplo Ansible
- name: Configurar DNS sobre HTTPS
hosts: macos_clients
tasks:
- name: Instalar dnscrypt-proxy
homebrew:
name: dnscrypt-proxy
state: present
- name: Configurar dnscrypt-proxy
template:
src: dnscrypt-proxy.toml.j2
dest: /usr/local/etc/dnscrypt-proxy.toml
Recursos Adicionales
- Guía de Configuración de Red de macOS
- Mejores Prácticas de Seguridad DoH
- Guía de Seguridad de macOS
- Guía de Solución de Problemas
Notas Importantes
-
Compatibilidad del Sistema
- Verifique versión del sistema
- Confirme requisitos de hardware
- Pruebe compatibilidad de software
- Evalúe impacto en rendimiento
-
Impacto en la Red
- Monitoree latencia de red
- Evalúe uso de ancho de banda
- Considere opciones de respaldo
- Optimice configuración de enrutamiento
-
Consideraciones de Seguridad
- Proteja archivos de configuración
- Restrinja permisos de acceso
- Monitoree registros del sistema
- Auditorías regulares de seguridad
-
Recomendaciones de Mantenimiento
- Actualizaciones regulares de software
- Respaldo de configuraciones
- Monitoreo de estado del sistema
- Desarrolle planes de emergencia
Próximos Pasos
- Lista de Servidores - Explore los proveedores DoH disponibles
- Guía de Seguridad - Aprenda más sobre configuración de seguridad
- Optimización de Rendimiento - Mejore el rendimiento del DNS
- FAQ - Obtenga más ayuda