Programming, robotics, traveling

02 Dec 2020

Настройка DNS на клиенте OpenVPN macOS

Я использую связку OpenVPN + dnsmasq для выдачи доменов в удаленной виртуальной сети.

Настройка клиента

У меня MacBook: в macOS 10.15 отсуствует реализация OpenVPN. Я не любитель всяких графических клиентов вроде TunnelBlick, поэтому я установил OpenVPN через brew. В brew есть прослойка для служб macOS – brew services.

sudo brew services list
sudo brew services start openvpn
sudo brew services restart openvpn
sudo brew services stop openvpn

brew services для OpenVPN нужно запускать под sudo, тк это необходимо для работы с сетевыми адаптерами. А также для каждого пользователя свой список сервисов.

Для того, настроить службу я сделал симлинк ovpn файла в /usr/local/etc/openvpn/openvpn.conf.

DNS параметры

Настроить клиент можно двумя способами:

  1. Прописать параметры в client.ovpn файле;
  2. Передать параметры с сервера с помощью команды push в конфигурационном файле сервера /etc/openvpn/server/openvpn.conf (путь может отличаться).

Так выглядит команда для передачи клиенту информации о DNS сервере:

push "dhcp-option DNS 192.168.10.12"
push "dhcp-option DOMAIN xxxx.local"

https://www.linux.org.ru/forum/admin/14794556

Источник: https://interface31.ru/forum/index.php?topic=251.35

Решение

Попробовав данные решения я понял, что это не работает просто так. После небольшого поиска нашел следующий материал OpenVPN - Pushing-DNS-to-clients. В материале я нашел ссылку на следующее решение openvpn-update-resolv-conf заточненное по работе с Linux посредством взаимодействия с openresolv.

После дополнительного поиска нашел следующее решение для macOS – openvpn-mac-dns.

Другое