Enviar remotamente servidor DNS para o cliente via OpenVPN

4

Quando tento enviar um servidor DNS por meio do OpenVPN server-config, não consigo que o servidor seja o primeiro servidor DNS no sistema cliente conectado. Ele acaba sendo especificado como um servidor DNS alternativo.

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

Para superar certas restrições de rede, se elas estiverem no lugar, eu uso 443 TCP. - Isso significa que minhas consultas DNS são enviadas via TCP (se eu reconfigurar manualmente o servidor DNS), o que não é muito escalável de uma perspectiva de desempenho.

Existe alguma solução kewl para isso?

Marius

    
por wishi 02.11.2009 / 21:35

2 respostas

4

Eu notei que é diferente com base no "cliente". Se eu usar o gerenciador de rede, obtenho o DNS, mas se eu usar o serviço openvpn "regular" (no Ubuntu), não obtenho o DNS. Eu não olhei mais fundo nisso, já que geralmente deixo o gerenciador de rede conectar minha VPN.

    
por 16.12.2009 / 12:46
0

Se um estiver comprometido com o vetor terminal openvpn , coloque um script bash chamado ~/bin/m0vpn (para uma VPN chamada m0 ), então conecto simplesmente abrindo um terminal e digitando:

m0vpn

Aqui está o script:

#!/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"

E talvez um dia NetworkManager simplesmente possa usar o arquivo .ovpn .

    
por 02.08.2015 / 23:57