Pregunta Reemplace DNS en el cliente Openvpn sin redirect-gateway


Estoy tratando de enviar DNS al cliente con el servidor OpenVPN con la configuración:

 push "dhcp-option DNS 192.168.x.x"

Está funcionando bien, pero lo que realmente necesito es que durante la conexión VPN no quiero usar mis resolutores primarios, los clientes deben usar solo el DNS proporcionado por el servidor. Se puede hacer con empuje. puerta de enlace de redirección, pero no quiero canalizar todas las conexiones desde el cliente a través de la VPN, solo redes específicas.

¿Es posible hacerlo de alguna manera?
Los clientes de Linux están bien con un script, en Windows no estoy seguro


5
2017-10-26 17:12


origen


¿Las conexiones que no desea que se canalicen solo para comunicaciones externas, como la navegación web? En Windows, esta es una opción bajo las propiedades de conexión VPN. - scape
Scape, ¿estás seguro de que estás hablando de openvpn? Por cierto, el problema no está en la tunelización. - Gabor Vincze


Respuestas:


Utilizar redirect-private, pero también agregar route por cada red que desee enrutar a través de VPN.

Tenga en cuenta que la configuración de DNS en otras interfaces dejará de funcionar, cuando esa interfaz no tendrá ruta a sus servidores DNS. Esto es lo que pasa cuando redirect-gateway elimina la puerta de enlace predeterminada de su interfaz LAN (W) y agrega una ruta de host a la IP del servidor VPN a través del GW original. Depende de su configuración, puede que no haya ninguna configuración en funcionamiento y tendrá que cambiar la denominación de DNS para incluir algún subdominio para las redes internas.


2
2017-11-10 16:51



Déjame intentarlo, parece ser una opción de trabajo. - Gabor Vincze


// edit: Lo siento, no vi la parte de Windows cuando publiqué esto. Lo siguiente es acerca de Linux.

Tuve ese problema hace algún tiempo con openvpn y un cliente de Linux. Pero resolvconf me dio un tiempo extra al escribir las opciones dhcp empujadas directamente al archivo resolv.conf local y no había manera de restaurar el antiguo servidor de nombres después de desconectarse de la vpn. Así que me di por vencido e hice dos pequeños scripts de bash que manejan mi archivo resolv.conf en vpn conectar / desconectar. (Por supuesto, estos scripts deben instalarse en cada cliente, por lo que no es una solución general).

El script up crea copias de seguridad de las definiciones de su servidor de nombres en una ubicación segura antes de sobrescribirlas con las de la opción dhcp recibida. El script de bajada simplemente mueve su archivo normal a su lugar.

adjuntar a su conexión vpn conf

script-security 2
up /etc/openvpn/dns.up.sh
down /etc/openvpn/dns.down.sh

dns.up.h

#!/bin/bash

        mv /etc/resolv.conf /etc/resolv.conf.novpn

        for optionname in ${!foreign_option_*} ; do
                option="${!optionname}"
                echo $option
                part1=$(echo "$option" | cut -d " " -f 1)
                if [ "$part1" == "dhcp-option" ] ; then
                        part2=$(echo "$option" | cut -d " " -f 2)
                        part3=$(echo "$option" | cut -d " " -f 3)
                        if [ "$part2" == "DNS" ] ; then
                                IF_DNS_NAMESERVERS="$IF_DNS_NAMESERVERS $part3"
                        fi
                        if [ "$part2" == "DOMAIN" ] ; then
                                IF_DNS_SEARCH="$IF_DNS_SEARCH $part3"
                        fi
                fi
        done
        R=""
        for SS in $IF_DNS_SEARCH ; do
                R="${R}search $SS
"
        done
        for NS in $IF_DNS_NAMESERVERS ; do
                R="${R}nameserver $NS
"
        done
        echo -n "$R" > /etc/resolv.conf

dns.down.sh

#!/bin/sh

mv /etc/resolv.conf.novpn /etc/resolv.conf

0
2017-11-09 03:49



Desafortunadamente, el OP menciona explícitamente que necesita ayuda para que esto funcione en Windows. Citando "Los clientes de Linux están bien con un script, en Windows no estoy seguro". - chutz
Me siento un poco avergonzado por pasar por alto esa parte (y también la etiqueta de windows 7). Espero que esto ayude al menos a algún usuario de Linux que también pasa por alto y que se tropiece aquí algún día. - Karma Fusebox