Я боролся с этой проблемой в течение 2 дней, прежде чем нашел решение, которое сработало для меня, здесь:
https://unix.stackexchange.com/a/470940
TL; DR
$ cd /etc/NetworkManager/system-connections
Здесь хранятся соединения, созданные с помощью Network Manager.
$ sudo nmcli connection modify <vpn-connection-name> ipv4.dns-priority -42
Простая команда для изменения файла конфигурации соединения. Можно было бы сделать и вручную, но я считаю, что так проще.
$ sudo service network-manager restart
Внесите изменения в вашу систему.
В основном копия вставлена по ссылке выше, кредит оригинальному автору.
Если ваша система не знает nmcli или при добавлении соединений с помощью графического интерфейса администратора сети выдается ошибка, я рекомендую эту ссылку
Теперь о том, что меньше для объяснения и больше для комментария (довольно невежественен сам).
Я перепробовал многие решения, включая resolv.conf, dnsmasq и dnscrypt, которые привели к тому, что мой интернет был заблокирован либо полностью, либо когда было отключено соединение vpn. Никто из них не решил утечку DNS, сообщает dnsleaktest.com . Если предпринята какая-либо из этих попыток, каждый шаг на этом пути должен отслеживаться, чтобы иметь возможность отменить их в случае нежелательного результата. Мне понадобилось совсем немного времени, чтобы починить мой сломанный интернет снова и снова без, угадай, что, интернета. Я не утверждаю, что эти решения не работают, я, возможно, где-то допустил ошибку.
Однако решение, с которым я связан, имеет огромное преимущество, заключающееся в том, что оно не влияет на общие настройки сети, а только на одно соединение, которое вы изменяете.
Далее, block-outside-dns, как упоминалось здесь ранее, является решением только для Windows и выдало какую-то неопознанную ошибку опции в моей системе Ubuntu.
Использование команд ovpn cli также не решило проблему утечки.
Ссылка, которую я предоставил, упоминает объяснение ( здесь ) о некоторых несоответствиях версий, которые исправлены в Ubuntu 18.10, возможно, кто-то с большим опытом в этой теме захочет объяснить дальше. Если это правда, пользователям LTS придется подождать до апреля следующего года.
Наконец, я хочу отметить, что для жителей стран с интернет-цензурой утечка днс представляет собой серьезную проблему, поскольку предоставление доступа локального isp к вашему трафику может привести к блокировке цензурированных доменов, несмотря на то, что они подключены к vpn. Так что для будущих визитов в Китай и т. Д. Это то, о чем вы хотите позаботиться заранее.
Надеюсь это поможет.
block-outside-vpn
обычно это только вариант подключения Windows OpenVPN. Устранить «утечку» DNS можно было бы с использованием определенного DNS-сервера, который существует только на другой стороне VPN. Какие результаты теста на утечку DNS вы видели? (они актуальны)