DNS no funciona en Bash (Ubuntu) en Windows usando VPN

DNS no funciona en Bash (Ubuntu) en Windows usando VPN

Acabo de empezar a probar "Bash en Ubuntu en Windows" y ¡me gusta!

Simplemente, el problema es que necesito usar VPN para poder acceder a nuestros servidores backend y de desarrollador. Y al intentar (por ejemplo) enviar ssh a nuestro servidor de desarrollo con el shell Bash de Windows, no puede resolver el nombre de host.

Tenga en cuenta que puedo realizar ssh usando la dirección IP y que estos nombres de host funcionan bien en otras partes de Windows. Como con PuTTY, cmd normal, Explorador de archivos, etc.

También revisé /etc/resolv.conf y puedo ver nuestro servidor de nombres de trabajo listado allí.

De aquí en adelante mis habilidades en redes se quedan cortas, especialmente con Linux, así que por favor ayuda :D

Respuesta1

Es un problema de enrutamiento, no un error de WSL. Es muy probable que su subred local sea la misma que la subred remota. Y supongo que usas la VPN con puente.

Me he encontrado con el mismo problema. Utilizo OpenVPN para conectar mi oficina (remota) y mi hogar (local). Las dos subredes son 192.168.1.0, que es la más común que se encuentra en muchos enrutadores.

Finalmente resolví el problema con la siguiente configuración. Mi objetivo es utilizar tun para reducir los gastos generales y solo redirigir el tráfico hacia el destino en la oficina. Sin embargo, esto también funcionaría con la VPN en puente.

;make the dhcp-option works on Windows 10.
script-security 2
;do not accept any pushed route command.
route-nopull
;make sure the connection still go through my home router. This line may not be necessary. You can try to remove this line and see it the VPN works.
route 192.168.1.1 255.255.255.0 net_gateway
;redirect the traffic where the destination is within the 192.168.1.0 subnet to OpenVPN gateway.
route 192.168.1.128 255.255.255.128
route 192.168.1.0 255.255.255.128
;set the DNS server which is in the office
dhcp-option DNS 192.168.1.254
dhcp-option DNS 192.168.1.253
dhcp-option DOMAIN my.company.domain

Respuesta2

Esto no resuelve el problema de que el DNS no funcione, pero es una solución alternativa que hace que parezca que está funcionando.

Puede editar su archivo de hosts (en /etc/hosts) y agregar una entrada para el nombre de host que desea usar.

Agregue una entrada que tenga la dirección IP seguida de un espacio y el nombre de host.

123.456.1.1 target.host.net

Tenga en cuenta que necesitará sudosu comando de edición.sudo vi /etc/hosts

Para mí, la edición se mantiene en todas las sesiones de bash shell. Supongo que es un error que, con suerte, Microsoft solucionará en el futuro. Por ahora, sólo uso esta solución.

Respuesta3

Tengo el mismo problema. Edité temporalmente /etc/resolv.conf con solo un servidor de nombres y un dominio de búsqueda (para la red VPN) y resolvió los nombres de host en esa red. Este cambio no es persistente, por lo que salir y reiniciar Bash en Ubuntu en Windows restaurará /etc/resolv.conf a su configuración predeterminada.

información relacionada