Category:

OpenVPN & SplitDNS в Linux, часть 3 (заключительная)

Продолжение предыдущего поста.

... Но что делать, если мы прям очень не любим NetworkManager до такой степени, что аж кушать не можем? Есть вариант обойтись без него, но systemd-resolved всё равно понадобится.

Способ 2. OpenVPN + bash-скрипт + systemd-resolved.

Устанавливаем пакетик под названием "openvpn-systemd-resolved". По сути, в этот пакет упакован единственный bash-скрипт "/etc/openvpn/update-systemd-resolved". Если в вашем дистрибутиве такого пакета нет, то сам скрипт можно скачать отдельно вот здесь, не забыть только потом сделать его исполняемым (chmod 755).

Далее в конфиги всех OpenVPN-клиентов понадобится внести строчки

Собственно, всё. Запускаем OpenVPN "как обычно" и наслаждаемся собственной крутизной в течение 5 минут.

Если же мы и systemd-resolved тоже не любим, то остаются ещё

способы 3, 4. DNSMasq

Разница между способом №3 и №4 заключается только в том, как именно мы собираемся запускать dnsmasq: в режиме плагина к NetworkManager или Standalone.

В последнем случае ему надо будет обязательно указать DNS-сервера по умолчанию. Для примера пусть это будут google public DNS.

Если запускаем как плагин, то дефолтные сервера прописывать в конфиге DNSMasq-а не нужно, т.к. их "спустит" сам NetworkManager. Но при любом варианте необходимо определить список интересующих нас доменов и у кого их запрашивать. Ради этого собственно всё и затевалось. Например.

Если мы используем DNSMasq, то в "/etc/resolv.conf" должен быть "nameserver 127.0.0.1" и никаких символических ссылок, т.к. отвечать на запросы локального libc-ресолвера по сюжету должен именно он (капитанствую, да).

Собственно, это всё. Оговорюсь, что все возможные варианты с Linux-ом не ограничиваются четырмя рассмотренными, но дальше уж совсем экзотика начинается. Ага, когда dnsmasq-а и systemd-resolved ещё не существовало в природе, я для решения таких вот задач на своем рабочем десктопе локальный BIND поднимал. Ещё мы проходили всякие resolvconf и nscd. Но эти уродцы, к счастью, остались в далёком прошлом.

Всем стабильных каналов и быстрого разрешения имён.