Я недавно установил 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?
Обновление: Я включил сценарий/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
Это, кажется, работает на данный момент.
У меня есть та же проблема. Возможно, это - ошибка. Но я использую 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 понижается.
Для 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 для получения дополнительной информации.