Después de actualizar mi instalación 16.04 a 16.10, tengo problemas con DNS.
Primero tuve problemas un par de veces cuando estaba conectado a WiFi, mientras funcionaba en ethernet. Ahora parece funcionar también con WiFi. No estoy seguro de por qué, y si de alguna manera está relacionado con el problema que enfrento ahora:
Cuando se conecta a un host VPN con Cisco Anyconnect VPN , agrega una línea en '/etc/resolv.conf' . Entiendo que Ubuntu ahora está usando systemd-resolve , y la página del manual dice que hay tres modos diferentes para manejar /etc/resolv.conf. Mi /etc/resolv.conf no es un enlace simbólico, y no enumera 127.0.0.53 como un servidor DNS, por lo que entiendo que systemd resuelto debería "leerlo para los datos de configuración de DNS". Sin embargo, no parece importarle.
cavar
Lo extraño (para mí) es que dig host.customer.tld
devuelve una buena respuesta con una SECCIÓN DE RESPUESTA que muestra la ip del host solicitado, y se refiere al servidor dns agregado a /etc/resolv.conf por vpn client como el SERVIDOR. Cuando la conexión vpn está desactivada, no obtengo respuesta. Es decir, dig lee /etc/resolv.conf .
silbido
El navegador, por otro lado, no llega a /etc/resolv.conf y no puede resolver el nombre del host. Tampoco es ping / curl, por cierto.
nmcli
Encontré una publicación relacionada e intenté ejecutar
nmcli device show <interfacename> | grep IP4.DNS
pero no enumera dns para el dispositivo cscotun0. (Sin embargo, tampoco en 16.04). Además, nmcli enumera mi servidor dhcp (mi enrutador) como host IP4.DNS para mis conexiones eth / wlan. Usar dig @192.168.0.1 xxx
para cualquier dominio público funciona bien.
configuración
Hay algunos otros servidores DNS listados en mi /run/systemd/resolve/resolv.conf:
nameserver 8.8.8.8
nameserver 8.8.4.4
nameserver 2001:4860:4860::8888
# Too many DNS servers configured, the following entries may be ignored.
nameserver 2001:4860:4860::8844
Estos no son atendidos por mi servidor DHCP. el archivo /etc/systemd/resolved.conf contiene solo líneas comentadas, excepto el encabezado de sección:
[Resolve]
#DNS=
#FallbackDNS=8.8.8.8 8.8.4.4 2001:4860:4860::8888 2001:4860:4860::8844
La página del manual para resolve.conf dice que
DNS = Una lista separada por espacios de direcciones IPv4 e IPv6 para usar como servidores DNS del sistema. ... Por razones de compatibilidad, si no se especifica esta configuración, los servidores DNS enumerados en /etc/resolv.conf se utilizan en su lugar, si ese archivo existe y algún servidor está configurado en él. Esta configuración por defecto es la lista vacía.
FallbackDNS = Una lista separada por espacios de direcciones IPv4 e IPv6 para usar como servidores DNS de reserva. Cualquier servidor DNS por enlace obtenido de systemd-networkd.service (8) tiene prioridad sobre esta configuración, al igual que cualquier servidor configurado a través de DNS = anterior o /etc/resolv.conf. Por lo tanto, esta configuración solo se usa si no se conoce otra información del servidor DNS. Si no se da esta opción, en su lugar se usa una lista compilada de servidores DNS.
Parece que el respaldo termina en /run/systemd/resolve/resolv.conf en mi caso.
EDITAR: No estaba seguro de cuál era el problema, y para ser honesto, todavía no sé exactamente cómo funciona esto, pero al menos resultó que la solución en mi caso era deshabilitar el systemd-resolved
servicio. Pensé que era necesario el servicio, que era el componente que proporcionaba el servicio DNS a todas las aplicaciones locales, pero aparentemente hay algo más allí haciendo ese trabajo.