Estoy usando Network Manager (1.18.0-1) en el sistema Arch Linux, donde
resolvconf
también está presente (del openresolv
cual depende el paquete base netctl
).
Cuando me conecto al servidor VPN a través de NetworkManager, tengo un problema con el registro DNS duradero después de desconectar la VPN. Encontré parcialmente por qué:
- Después de la conexión, el proceso NetworkManager incluye el servidor de nombres VPN en el
resolv.conf
- con respecto a
/etc/ppp/ip-up.d/00-dns.sh
(abajo) y válidoUSEPEERDNS=1
elresolvconf
se llama; hará una copia de seguridadresolv.conf
y la reemplazará con el registro del servidor de nombres propio - después de que VPN desconecte
/etc/ppp/ip-down.d/00-dns.sh
las llamadasresolvconf
para eliminar el registro del servidor de nombres y recuperar el registro del servidor de nombresresolv.conf
desderesolv.conf.bak
donde (en este momento) es inalcanzable
La revisión sucia es deshabilitar /etc/ppp/ip-up.d/00-dns.sh
(o simplemente comentar la /usr/bin/resolvconf ...
línea). No quiero desinstalar openresolv
porque romperá una netctl
dependencia y también quiero este paquete base.
Dado que NetworkManager no es una herramienta de red "estándar" en Arch Linux, no estoy seguro de si se trata de un tipo de error o de qué configuraciones me faltan. ¿Cuál sería una forma correcta de solucionarlo?
/etc/ppp/ip-up.d/00-dns.sh:
#!/bin/sh
if [ "$USEPEERDNS" = "1" -a -f /etc/ppp/resolv.conf ]; then
if [ -x /usr/bin/resolvconf ]; then
/usr/bin/resolvconf -a ${IFNAME} </etc/ppp/resolv.conf
else
[ -e /etc/resolv.conf ] && mv /etc/resolv.conf /etc/resolv.conf.backup.${IFNAME}
mv /etc/ppp/resolv.conf /etc/resolv.conf
chmod 644 /etc/resolv.conf
fi
fi