O servidor de nomes VPN permanece em resolv.conf após a desconexão

O servidor de nomes VPN permanece em resolv.conf após a desconexão

Estou usando o Network Manager (1.18.0-1) no sistema Arch Linux onde resolvconftambém está presente (do openresolvqual é uma netctldependência de pacote base).

Quando estou me conectando ao servidor VPN via NetworkManager, estou tendo um problema com o registro DNS duradouro após desconectar a VPN. Eu descobri parcialmente o porquê:

  1. após a conexão, o processo NetworkManager inclui o servidor de nomes VPN noresolv.conf
  2. em relação a /etc/ppp/ip-up.d/00-dns.sh(abaixo) e válido USEPEERDNS=1o resolvconfé chamado; ele fará backup resolv.confe substituirá pelo próprio registro do servidor de nomes
  3. após a VPN desconectar /etc/ppp/ip-down.d/00-dns.shchamadas resolvconfpara excluir o registro do servidor de nomes e recuperar o registro do servidor de nomes resolv.confde resolv.conf.bakonde está (neste momento) inacessível

O hotfix sujo é desabilitar /etc/ppp/ip-up.d/00-dns.sh(ou apenas comentar a /usr/bin/resolvconf ...linha). Não quero desinstalar openresolvporque isso quebrará uma netctldependência e também quero este pacote básico.

Como o NetworkManager não é uma ferramenta de rede "estoque" no Arch Linux, não tenho certeza se isso é um tipo de bug ou quais configurações estão faltando. Qual seria a maneira correta de resolver isso?

/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

informação relacionada