изменение полномочий/владения resolv.conf после разъединения VPN

Я недавно установил Ubuntu 18.04. Я настроил VPN через стандартные настройки-> Сеть GUI. Я могу соединиться с VPN без проблем, но когда я разъединяю VPN, я не могу получить доступ к Интернету через свой веб-браузер. Я могу, однако, проверить с помощью ping-запросов интернет-адрес из окна оболочки.

Мой/etc/resolv.conf файл является символьной ссылкой на/run/systemd/resolve/stub-resolv.conf.

Прежде чем я соединюсь с VPN, полномочия/владение следующие:

-rw-r--r-- 1 systemd-resolve systemd-resolve 701 Jun 20 20:28 /run/systemd/resolve/stub-resolv.conf

В то время как я подключен к VPN, эти полномочия остаются такими же, но когда я разъединяюсь, полномочия чтения отбрасываются и изменения владения в root:root, как это:

-rw------- 1 root root 701 Jun 20 20:31 /run/systemd/resolve/stub-resolv.conf

Кажется, что из-за этого, мой веб-браузер не может считать resolv.conf файл и таким образом не знает что сервер имен использовать

Если я chmod a+r этот файл, я могу получить доступ к прекрасному Интернету, даже при том, что владение тихо root:root.

У кого-либо есть какая-либо идея, что происходит здесь и как она могла быть зафиксирована, вручную не изменяя полномочия resolv файла каждый раз, когда я разъединяю VPN?

2
задан 21 June 2018 в 05:13

3 ответа

Обновление: Я включил сценарий/etc/network/if-post-down.d каталог, который просто изменяет полномочия/владение тупикового-resolv.conf файла, когда VPN разъединяется.

if [ "$IFACE" = ppp0 ]; then
    chmod a+r /run/systemd/resolve/stub-resolv.conf
    chown systemd-resolve:systemd-resolve /run/systemd/resolve/stub-resolv.conf
fi

Это, кажется, работает на данный момент.

0
ответ дан 2 December 2019 в 07:25

У меня есть та же проблема. Возможно, это - ошибка. Но я использую NetworkManager. Это решение не работает с ним. Сценарий не работает. Я добавляю свое решение для него.

NetworkManager имеет аналогичное решение. Сценарий должен быть добавлен к каталогу:

/etc/NetworkManager/dispatcher.d

Я добавил этот файл: "02 фиксируют resolv.conf.sh":

#!/bin/sh
if [ "$1" = "ppp0" -a "$2" = "vpn-up" ]; then
  echo "bleeeeeee je dole" > /tmp/testjenahore.txt
  chmod a+r /run/systemd/resolve/stub-resolv.conf.pppd-backup.ppp0
  chown systemd-resolve:systemd-resolve /run/systemd/resolve/stub-resolv.conf.pppd-backup.ppp0
fi

Это работает на меня. И я нашел, что файл "/run/systemd/resolve/stub-resolv.conf.pppd-backup.ppp0" имеет разрешение и владельца плохо. И мой сценарий исправляет разрешение и awner, когда VPN повышается. Затем это работает также, если VPN понижается.

0
ответ дан 2 December 2019 в 07:25

Для network-manager-pptp или network-manager-l2tp, фактическая фиксация должна установить resolvconf пакет:

sudo apt install resolvconf

resolvconf пакет удостоверяется, что NetworkManager делает обработку/etc/resolv.conf, извлечение из/etc/ppp/ip-up.d/000resolvconf:

[ -x /sbin/resolvconf ] || exit 0

[ "$USEPEERDNS" ] || exit 0

case "$6" in
  nm-pptp-service-*|nm-l2tp-service-*|/org/freedesktop/NetworkManager/PPP/*)
    # NetworkManager handles it
    exit 0
    ;;
esac

См. Ubuntu LP bug#1778946 для получения дополнительной информации.

0
ответ дан 2 December 2019 в 07:25

Другие вопросы по тегам:

Похожие вопросы: