В дистрибутивах GNU/Linux, использующих новые версии системы инициализации systemd, можно встретить проблему утечки DNS. А при использовании некоторых VPN-сервисов, например Антизапрет, можно столкнутся с проблемой отсутствия разблокирования сайтов, т.к для разблокировки активно используется DNS внутри туннеля OpenVPN.
Примечание
Если у вас нет проблемы с утечкой DNS в работе OpenVPN, то выполнять следующие решения вам не стоит.
В сети можно встретить различные решения данной проблемы, например список вариантов на сайте ArchLinux. Мне же помогло следующее решение:
1. Устанавливаем пакет openresolv:
для дистрибутивов Ubuntu и подобных:
sudo apt install openresolv
для дистрибутивов Arch и подобных:
sudo pacman -S openresolv
2. Отключаем systemd-resolved:
sudo systemctl disable systemd-resolved.service
sudo systemctl stop systemd-resolved
Редактируем файл NetworkManager.conf
sudo nano /etc/NetworkManager/NetworkManager.conf
Сразу под Main дописываем строчку:
dns=none
Сохраняем изменения с помощью комбинации клавиш Ctrl+O и Ctrl+X.
3. Перезагружаем систему и выполняем следующие команды. Так как на resolv.conf создан симлинк, то мы его удаляем:
sudo rm /etc/resolv.conf
И создаём новый:
sudo nano /etc/resolv.conf
Отобразится терминал с пустым файлом. Дописываем (можно указать любой DNS-сервер):
nameserver 1.1.1.1
Сохраняем изменения с помощью комбинации клавиш Ctrl+O и Ctrl+X.
Перезагружаем систему.
4. Устанавливаем скрипт:
sudo wget -O /etc/openvpn/update-resolv-conf https://raw.githubusercontent.com/alfredopalhares/openvpn-update-resolv-conf/master/update-resolv-conf.sh sudo chmod +x /etc/openvpn/update-resolv-conf
5. Редактируем конфигурационный файл клиента с расширением .ovpn . Для редактирования файла нужно открыть его в любом текстовом редакторе.
Добавляем в файл следующие команды:
script-security 2 up /etc/openvpn/update-resolv-conf down /etc/openvpn/update-resolv-conf
Примечание
Вполне возможно, что данные команды уже присутствуют в конфигурационном файле, и скорее всего они закомментированы. В таком случае достаточно снять комментирование, т.е убрать значок # перед файлами.
Дополнительно отмечу, что в последнее время можно встретить проблему с неработающим OpenVPN клиентом через менеджер сети (NetworkManager). В таком случае запустить vpn соединение можно через терминал, миную менеджер сети. Запускаем следующим образом:
sudo openvpn --config название.ovpn
Остановить соединение можно с помощью прерывания процесса через комбинацию клавиш Ctrl+C.
Linux: обзоры и обновления
• Финальный релиз LMDE (Linux Mint Debian Edition) 6 «Faye» доступен для скачивания
• Обновления Linux: ядро, дистрибутивы и рабочие окружения
• Ubuntu 23.10 Beta доступен для тестирования
• Релиз рабочего окружения GNOME 45 «Riga». Что нового
• Free Download Manager выпускает скрипт для проверки вредоносного ПО в системах Linux
• Fedora Linux 39 Beta доступен для тестирования