Después de actualizar mi instalación 16.04 a 16.10, tengo problemas con el DNS.
Primero tuve problemas un par de veces al conectarme a WiFi, mientras que en ethernet funcionaba. Ahora parece que también funciona en WiFi. No estoy seguro de por qué, y si es de alguna manera relacionada con el problema que me enfrento ahora:
Al conectarse a un host VPN con Cisco Anyconnect VPN es añade una línea en '/etc/resolv.conf' . Tengo entendido que Ubuntu utiliza ahora systemd-resolve y la página de manual dice que hay tres modos diferentes de 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, así que por lo que entiendo systemd-resolved debería "leerlo para los datos de configuración DNS". Sin embargo, no parece importarle.
dig
Lo extraño (para mí) es que dig host.customer.tld
Si la conexión vpn está deshabilitada, no obtengo respuesta, pero si la conexión vpn está deshabilitada, no obtengo respuesta. Cuando la conexión vpn está deshabilitada no obtengo respuesta. Es decir dig lee /etc/resolv.conf .
ping
El navegador, por otro lado, no llega a /etc/resolv.conf, y no es capaz de resolver el nombre de host. Tampoco lo es ping/curl, por cierto.
nmcli
Encontré un post relacionado e intenté ejecutar
nmcli device show <interfacename> | grep IP4.DNS
pero no hay dns para el dispositivo cscotun0. (Aunque tampoco lo hace en 16.04.) Además, nmcli lista mi servidor dhcp (mi router) como IP4.DNS host para mis conexiones eth/wlan. Usando 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
El archivo /etc/systemd/resolved.conf sólo contiene líneas comentadas, excepto la cabecera de la sección:
[Resolve]
#DNS=
#FallbackDNS=8.8.8.8 8.8.4.4 2001:4860:4860::8888 2001:4860:4860::8844
La página de manual de resuelto.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 este parámetro, los servidores DNS DNS listados en /etc/resolv.conf son usados en su lugar, si ese archivo existe y cualquier está configurado en él. Este valor por defecto es la lista vacía.
FallbackDNS \= Una lista separada por espacios de direcciones IPv4 e IPv6 que se utilizarán como servidores DNS de reserva. 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 mediante DNS= o mediante /etc/resolv.conf. Por lo tanto, esta configuración sólo se utiliza si no se conoce otra información del servidor DNS. DNS. Si no se da esta opción, una lista compilada de servidores DNS.
Parece que el fallback termina en /run/systemd/resolve/resolv.conf en mi caso.
EDIT: Yo 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 el solución en mi caso fue desactivar el systemd-resolved
servicio. Pensaba que ese servicio era necesario, que era el componente que proporcionaba el servicio DNS a todas las aplicaciones locales, pero aparentemente hay algo más ahí haciendo ese trabajo.