Ubuntu 18.04 не удалось разрешить VPN DNS при выборе «Использовать это подключение только для ресурсов в этой сети»

Ubuntu 18.04 не удалось разрешить VPN DNS при выборе «Использовать это подключение только для ресурсов в этой сети»

Несколько дней назад у меня начались проблемы с Ubuntu 18.04, хотя я не менял никаких сетевых настроек.

Проблема в том, что когда я подключаюсь к своему рабочему VPN (OpenVPN), я не могу разрешить ни одного DNS-имени в этой сети VPN, если я выбираю «Использовать это подключение только для ресурсов в этой сети». Если я отключаю эту опцию, то я могу разрешить DNS внутри сети, но, естественно, не могу подключиться ни к чему внешнему.

Вот вывод, systemd-resolve --statusесли я ОТКЛЮЧУ «Использовать это подключение только для ресурсов в этой сети» и подключусь к VPN:

Link 10 (tun0)
      Current Scopes: DNS
       LLMNR setting: yes
MulticastDNS setting: no
      DNSSEC setting: no
    DNSSEC supported: no
         DNS Servers: 10.xxx.xx.xx
          DNS Domain: ~.

Так что на самом деле он показывает DNS-сервер. Но как только я переключаю "Использовать это подключение только для ресурсов в этой сети" обратно на ВКЛ:

Link 11 (tun1)
      Current Scopes: none
       LLMNR setting: yes
MulticastDNS setting: no
      DNSSEC setting: no
    DNSSEC supported: no

Link 10 (tun0)
      Current Scopes: none
       LLMNR setting: yes
MulticastDNS setting: no
      DNSSEC setting: no
    DNSSEC supported: no

Я пробовал решения по этому вопросуUbuntu 18.04 нет разрешения DNS при подключении к openvpnно ничего не помогало.

Я также пробовал использовать unboundпакет, но это тоже не помогло.

Нашел также этоВнезапно не удается получить доступ к ресурсам в сети VPN в Ubuntu 18.04?так что я, очевидно, не одинок в этом, но решения у этой проблемы нет.

Немного растерялся, что еще делать, не хочется из-за этого переустанавливать всю систему.

решение1

Возможно, я решил эту проблему с помощью этой команды:

nmcli c modify <vpn-settings-name> ipv4.dns-search '<domain>'

Они <vpn-settings-name>должны быть такими же, как в настройках NetworkManager.

На данный момент, похоже, все работает, я ничего не менял после загрузки, кроме выполнения команды выше, и теперь systemd-resolve --statusпоказывает правильный DNS для сети VPN.

Хотел опубликовать решение на случай, если кто-то еще столкнется с той же проблемой.

решение2

Я обнаружил следующее.

При установке флажка «Использовать это подключение только для ресурсов в этой сети» у меня не было DNS, как и было указано в вопросе.

Если бы этот флажок не был установлен, у меня был бы дублирующийся маршрут по умолчанию, после удаления которого все работало бы, включая DNS.

Сравнивая результаты systemd-resolve --statusэтих двух сценариев, я обнаружил следующее:

Если DNS работал, но параметры создавали дублирующий маршрут, то отображалось следующее:

      DNS Domain: ~.
                  corporate-network.local

Когда DNS не работал, отображалось следующее:

      DNS Domain: corporate-network.local

Поэтому решением будет установить флажок «Использовать это подключение только для ресурсов в этой сети» и ввести ~.дополнительный домен DNS.

Теперь подключение работает напрямую из сетевого менеджера без необходимости удаления фиктивного шлюза по умолчанию и всех внутренних разрешений DNS.

решение3

Попробуйте повторно импортировать свой исходный файл .ovpn, если вы еще этого не сделали. У меня была похожая проблема, когда DNS-сервер моего VPN не отображался в systemd-resolve --status, но как только я повторно импортировал свой файл .ovpn в Network Manager, проблема была решена.

решение4

Мне помог ввод nmcli c modify "Put your VPN Name Here" ipv4.dns-search ~.командной строки и перезапуск VPN-подключения.

Связанный контент