4

Когда я пытаюсь протолкнуть DNS-сервер через конфигурацию сервера OpenVPN, я не получаю этот сервер первым DNS-сервером в подключенной клиентской системе. В итоге он указывается как альтернативный DNS-сервер.

push "dhcp-option DNS 89.238.75.146" # DNS-Server 1 (local djbdns)

Чтобы преодолеть определенные сетевые ограничения, если они есть, я использую 443 TCP. - Это означает, что мои DNS-запросы отправляются через TCP (если я вручную перенастраиваю DNS-сервер), что не очень хорошо масштабируется с точки зрения производительности.

Есть ли какие-нибудь решения для этого?

Marius

2 ответа2

4

Я заметил, что это отличается в зависимости от "клиента". Если я использую сетевой менеджер, я получаю DNS, но если я использую "обычный" сервис openvpn (в Ubuntu), я не получаю DNS. Я не стал вдаваться в подробности, так как обычно я позволяю сетевому менеджеру подключать мой vpn.

0

Если кто-то фиксирует вектор терминала openvpn , поместите скрипт bash с именем ~/bin/m0vpn (для VPN с именем m0), чтобы я подключился, просто открыв терминал и введя:

m0vpn

Вот сценарий:

#!/bin/bash
OVPNFILE="$HOME/.config/vpn/m0/client.ovpn"
TEMPRESOLV="nameserver 10.0.0.2\ndomain prd1.m0\n"
# The next two lines create a temporary /etc/resolv.conf which includes the original.
# For extra security you may modify this behavior (to use Only your own DNS server)
# ^ But then, you must connect to an IP address (no hostname) from your .ovpn file!
sudo printf "$TEMPRESOLV" | cat - /run/resolvconf/resolv.conf > /tmp/resolv.conf
sudo mv /tmp/resolv.conf /etc/resolv.conf
printf "Temporary /etc/resolv.conf:\n$TEMPRESOLV"
sudo openvpn $OVPNFILE
sudo ln -sf /run/resolvconf/resolv.conf /etc/resolv.conf
echo "Reset resolv.conf"

И, возможно, когда-нибудь NetworkManager просто сможет использовать файл .ovpn .

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .