Я использую VPN-клиент, который добавляет два сервера имен /etc/resolv.conf
. Все мои соединения управляются Network-Manager.
Я должен использовать этот VPN-клиент для своей рабочей VPN, но после перехода на Ubuntu systemd-resolved
в 16.10 у меня возникли проблемы с подключением и DNS. Похоже, systemd-resolved
изменения /etc/resolv.conf
по умолчанию возвращаются на серверы имен, что не разрешает внутренние страницы. Я посмотрел на это еще немного и в итоге заменил resolvconf
на openresolv
. Это очень помогло, но все еще systemd-resolved
сбрасывается /etc/resolv.conf
после того, как VPN некоторое время работал.
Это может быть так же, как соединение установлено или через несколько минут, а иногда и вовсе нет. Я тогда отключил systemd-resolved
и то systemd resolvconf.service
и только бегаю openresolv
. Кажется, все работает хорошо.
Однако все это очень запутанно. Есть ли причина для использования systemd-resolved
с одним из других? Он был включен в Ubuntu 16.10, так что я подумал, что для этого должна быть причина, но похоже, что бой окончен /etc/resolv.conf
.
Было бы здорово, если бы я мог просто бежать operesolv
и объяснить это. Я довольно много читал об этом, но я до сих пор не понимаю, почему /etc/resolv.conf
управление происходит так, как есть, только то, что когда я использую systemd
его, я не могу использовать свой VPN-клиент.
источник
/run/systemd/resolve/resolv.conf
файл. Возможно, вы захотите попробовать systemd-networkd управлять вашими соединениями.Ответы:
Мне удалось изменить скрипт, который обрабатывает эти элементы конфигурации в OpenVPN в Ubuntu (протестировано 18.04). Вот патч для этого:
Вам нужно будет добавить следующие элементы в файл конфигурации OpenVPN:
источник
Какой VPN-клиент вы используете? У меня были проблемы с прямым OpenVPN, но установка клиентской версии NM устранила проблемы. Ну, большинство из них, я не мог предотвратить проталкивание маршрута, но это совершенно другая проблема.
Дело в том, что ваш VPN-клиент должен знать, как взаимодействовать с идеей systemd о том, как управлять службой DNS. Я не рекомендую этого, но вы можете попытаться отключить функцию resolvd (
systemctl disable systemd-resolved.service
), чтобы посмотреть, улучшит ли это что-то, но в конечном итоге вам потребуется клиент, который понимает, как подчиняться капризам systemd :)(Системный корабль давно отплыл, давайте не будем обсуждать, почему некоторые вещи были сделаны.)
источник
Обновление VPN-клиента, которое я использовал, решило проблему (каламбур). Это был клиент OpenFortiGui для Fortinet VPN.
источник