Hay un servidor OpenVPN ejecutándose en un Debian y empuja un DNS en el archivo de configuración del servidor:
presione "dhcp-option DNS 8.8.8.8"
¿Existe una opción para permitir que los usuarios cambien los servidores DNS en el lado del cliente?
Aquí está el truco, el servidor openvpn debe empujar un DNS porque de lo contrario muchos clientes de OpenVPN no podrán abrir páginas web hasta que configuren manualmente los servidores DNS en la configuración de red del sistema.
Mi objetivo es aplicar automáticamente un servidor DNS predeterminado a los usuarios que no tienen conocimientos técnicos, mientras que también permitir que los usuarios de computadoras califiquen sus propios servidores DNS.
Tenga en cuenta que simplemente cambiar la configuración de DNS en la PC mientras la opción 'push "dhcp-option DNS 8.8.8.8" está activa en el servidor openvpn, no hace nada. El DNS empujado por el servidor permanece independientemente de la configuración de DNS local.
¿Algunas ideas?
Configuración del servidor OpenVPN:
# cat /etc/openvpn/openvpn.conf
server 10.186.35.0 255.255.255.0
port 1194
proto udp
dev tun
ca ca.crt
cert server.crt
key server.key
dh dh1024.pem
ifconfig-pool-persist ipp.txt
#push "route 0.0.0.0 0.0.0.0"
#push "redirect-gateway"
push "redirect-gateway def1 bypass-dhcp"
push "dhcp-option DNS 8.8.8.8"
push "dhcp-option DNS 8.8.4.4"
keepalive 10 120
comp-lzo
user nobody
group users
persist-key
persist-tun
status openvpn-status.log
verb 3
script-security 3
auth-user-pass-verify /etc/openvpn/auth-chap via-env
client-cert-not-required
duplicate-cn
management 127.0.0.1 5119
script-security 3 system
username-as-common-name
client-connect /etc/openvpn/scripts/clientconnect.sh
client-disconnect /etc/openvpn/scripts/clientdisconnect.sh
log-append /var/log/openvpn.log
log /var/log/openvpn.log
ACTUALIZACIÓN: Los sistemas operativos de los clientes son Windows y Mac
Respuestas:
A partir de 2017 (OpenVPN 2.4) esto ahora es posible. Agregue esta línea a su archivo de configuración del cliente:
e ignorará todas las líneas de configuración empujadas que comienzan con el texto citado.
Las opciones se combinan de arriba hacia abajo, por lo que se utiliza la primera coincidencia. Puede usar esto para permitir algunas rutas y rechazar otras, si se ajusta a sus necesidades.
Las tres palabras clave de acción son
accept
,ignore
yreject
. No he descubierto un caso de uso parareject
.fuente
En la documentación oficial de OpenVPN puede encontrar:
Desafortunadamente, además de lo que está preguntando, esto tiene el efecto secundario de deshabilitar también la puerta de enlace de redireccionamiento proporcionada por su configuración y esto puede representar un problema, para su caso.
Lo que sugiero es un enfoque completamente diferente.
Como mencionó explícitamente: " Mi objetivo es aplicar automáticamente un servidor DNS predeterminado a usuarios no técnicamente expertos, al mismo tiempo que permitir que usuarios de computadoras capacitados establezcan sus propios servidores DNS " . Parece que usted sabe exactamente qué usuarios desea proporcionar una configuración de DNS y a qué usuarios no desea proporcionar dicha configuración.
Por lo tanto, en lugar de insertar su configuración directamente en el archivo de configuración principal de OpenVpn (... y, como tal, proporcionar dicha configuración a TODOS sus usuarios), puede implementar una configuración por usuario . Puedes hacer esto con:
Entonces, en cuanto a la configuración principal, debe eliminar :
y agregue referencia al directorio / etc / openvpn / userconf (como ejemplo. Siéntase libre de elegir lo que quiera):
Luego, en dicho directorio de configuración de usuario, cree un archivo para cada uno de los usuarios que desea proporcionar dicho DNS, incluidas en dicho archivo las dos filas eliminadas anteriormente.
Obviamente, usted es libre de ajustar la configuración de openvpn para cada usuario, sin limitar la personalización a las dos filas anteriores.
Como nota final, es posible que también le interese el parámetro exclusivo de ccd .
fuente
Mi problema no era exactamente el mismo, pero los síntomas eran lo suficientemente similares como para que esta pregunta apareciera en los resultados de búsqueda, por lo que en caso de que alguien más termine aquí por la misma razón:
Estoy usando Tunnelblick , una GUI de OpenVPN para Mac OS. Mi servidor OpenVPN no estaba configurado para enviar ninguna opción de DHCP o DNS, pero el cliente todavía estaba usando el servidor DNS a través de VPN, en lugar del servidor DNS local que no era VPN que quería que usara.
La solución fue ir a la pestaña Configuraciones → Configuración de Tunnelblick y cambiar Establecer DNS / WINS a No establecer el servidor de nombres .
fuente
Gracias por @aldaviva, está funcionando en mi macOS 10.11.
Adjunte mi captura de pantalla.
fuente