Вы можете установить пакет resolvconf, который изменит способ /etc/resolv.conf
создается при загрузке системы.
sudo apt install resolvconf
Затем вы можете создать или изменить файл /etc/resolvconf/resolv.conf.d/tail
. Если вы поместите в этот файл строку nameserver 8.8.8.8
, эта строка будет добавлена в конце /run/resolvconf/resolv.conf
при загрузке. /etc/resolv.conf
теперь будет символическая ссылка на этот файл.
после написанного:
Почти через два года после публикации моего ответа я наткнулся https://bugs .launchpad.net/ubuntu /+источник/ppp/+ошибка/1778946 что именно объясняет, почему простая установка resolvconf
решил проблему с dns, которая у меня была в то время. Я чувствую, что должен поделиться этим здесь.
Хотя мой ответ отвечает на вопрос надлежащим образом, действительно, следует добавить предупреждение о том, что, если вы хотите / должны это сделать, вероятно, что-то еще не так. Это уже было заявлено @intelfx в то время, 127.0.0.53 должно работать само по себе.
Согласно этому сообщению об ошибке, после сбоя pptp VPN, resolv.conf
восстанавливается с неправильными правами доступа. ping ubuntu.com
не работает, sudo ping ubuntu.com
делает. Установка resolvconf
решил ее, потому что она берет верх resolv.conf
, восстановив его с правильными правами. Меняющийся systemd-resolve
настройки в данном случае не являются решением, поскольку ошибка находится в ppp
. Но альтернативным, возможно, более простым решением является sudo chmod a+r /etc/resolv.conf
после отключения VPN. И это можно автоматизировать, поместив исполняемый скрипт в /etc/NetworkManager/dispatcher.d с содержимым:
#!/bin/shif [[ "$1"="ppp0" && "$2"="vpn-down" ]]; then /bin/chmod a+r /etc/resolv.conffi
Во всех случаях содержание resolv.conf
не меняйся. И, да, я знаю, что pptp следует избегать из-за проблем с безопасностью, но в то время я думал об этом как о хорошем упражнении для новичка ubuntu. Я предполагал, что это сработает "из коробки". Я и не подозревал, что это вызовет у меня головную боль, как это так хорошо диагностировал @intelfx.