Instalaste Copilot en WSL Ubuntu pero falla la autenticación. El mensaje de error indica que Copilot no puede acceder a login.microsoftonline.com. Esto ocurre porque la configuración de red de WSL aísla Ubuntu de la configuración de proxy y DNS de Windows. Este artículo explica por qué falla la conexión y proporciona soluciones paso a paso para restaurar la autenticación de Copilot.
Puntos clave: Solucionar el acceso de red de Copilot en WSL Ubuntu
- /etc/resolv.conf de WSL: Controla la resolución de DNS. Si apunta a localhost, actualízalo para usar el servidor DNS de Windows.
- Firewall de Windows Defender: Bloquea el tráfico saliente de WSL hacia login.microsoftonline.com en el puerto 443. Agrega una regla de permiso para el proceso de WSL.
- Variables de entorno de proxy para Copilot: Configura HTTP_PROXY y HTTPS_PROXY en WSL si tu red utiliza un proxy corporativo.
Por qué Copilot en WSL Ubuntu no puede acceder a los servidores de inicio de sesión de Microsoft
WSL versión 2 se ejecuta dentro de una máquina virtual ligera. Esta máquina virtual utiliza un adaptador de red virtual que no hereda automáticamente la configuración de proxy de Windows. Cuando Copilot intenta acceder a login.microsoftonline.com, la solicitud puede ser bloqueada por el firewall de Windows o mal enrutada debido a una configuración de DNS incorrecta en WSL. La distribución de Ubuntu dentro de WSL tampoco lee la configuración de proxy o DNS del sistema Windows por defecto. Si tu organización utiliza un servidor proxy, Copilot fallará al autenticarse porque el entorno WSL no envía el tráfico a través de ese proxy.
Otra causa común es el archivo /etc/resolv.conf de WSL. WSL genera este archivo automáticamente y a menudo establece el servidor de nombres en 127.0.0.1, que apunta a un resolvedor local que puede no reenviar correctamente las solicitudes al servidor DNS de Windows. Cuando el servidor de nombres es incorrecto, Copilot no puede resolver el nombre de host login.microsoftonline.com a una dirección IP, lo que provoca un tiempo de espera de conexión.
Aislamiento de red en WSL 2
WSL 2 utiliza un conmutador virtual de Hyper-V. La instancia de Ubuntu obtiene una dirección IP privada en una red NAT. Esta red NAT no tiene acceso directo a la configuración de DNS o proxy del host de Windows. La documentación de Microsoft establece que WSL 2 no admite el modo de red de host. Esto significa que cada conexión saliente desde WSL debe pasar a través de la pila de red del host de Windows. Si el firewall de Windows bloquea el adaptador virtual de WSL, Copilot no puede acceder a ningún endpoint externo.
Resolución de DNS incorrecta en WSL
Por defecto, WSL escribe la dirección del servidor DNS 127.0.0.1 en /etc/resolv.conf. Esto apunta a un resolvedor DNS local que se ejecuta dentro de WSL. Sin embargo, este resolvedor puede no reenviar las consultas al servidor DNS de Windows cuando la red es compleja, como cuando se usan VPN o redes corporativas. Cuando Copilot intenta resolver login.microsoftonline.com, la consulta DNS falla y la aplicación devuelve un error de red.
Variables de entorno de proxy faltantes
Muchas redes corporativas requieren que el tráfico pase a través de un servidor proxy. Windows almacena la configuración de proxy en el registro y en la configuración del sistema. WSL no lee esta configuración. Si tu organización utiliza un proxy, Copilot en WSL no podrá acceder a login.microsoftonline.com hasta que configures las variables de entorno HTTP_PROXY y HTTPS_PROXY en el shell de Ubuntu. Sin estas variables, la solicitud de autenticación se envía directamente y es bloqueada por el servidor proxy.
Pasos para solucionar la conectividad de Copilot en WSL Ubuntu
Método 1: Configurar DNS en WSL
- Abrir la terminal de Ubuntu
Inicia tu distribución de WSL Ubuntu desde el menú Inicio o ejecutandowslen el símbolo del sistema. - Verificar la configuración DNS actual
Ejecutacat /etc/resolv.conf. Si la línea nameserver muestra 127.0.0.1, el DNS está mal configurado. - Crear un nuevo archivo resolv.conf
Ejecutasudo nano /etc/resolv.confy reemplaza el contenido con:nameserver 8.8.8.8nameserver 1.1.1.1
Guarda el archivo con Ctrl+O y luego sal con Ctrl+X. - Evitar que WSL sobrescriba resolv.conf
Ejecutasudo nano /etc/wsl.confy agrega estas líneas:[network]generateResolvConf = false
Guarda y sal. - Reiniciar WSL
Cierra la terminal de Ubuntu. En PowerShell de Windows, ejecutawsl --shutdown. Luego reinicia Ubuntu. - Probar la resolución de DNS
En Ubuntu, ejecutanslookup login.microsoftonline.com. Deberías ver direcciones IP resueltas. Si no, verifica la línea nameserver.
Método 2: Permitir WSL a través del firewall de Windows
- Abrir Firewall de Windows Defender con seguridad avanzada
Presiona Win+R, escribewf.mscy presiona Enter. - Crear una regla de salida para WSL
Haz clic derecho en Reglas de salida y selecciona Nueva regla. Elige Programa y luego navega hastaC:\Windows\System32\wsl.exe. Haz clic en Siguiente. - Permitir la conexión
Selecciona Permitir la conexión. Haz clic en Siguiente. - Aplicar la regla a todos los perfiles
Marca Dominio, Privado y Público. Haz clic en Siguiente. - Nombrar la regla
IngresaWSL Outbound Accessy haz clic en Finalizar. - Probar Copilot
Abre Ubuntu e intenta autenticar Copilot nuevamente. Si el error persiste, reinicia Windows para aplicar el cambio del firewall.
Método 3: Configurar variables de entorno de proxy en WSL
- Encontrar la dirección de proxy de Windows
Abre Configuración > Red e Internet > Proxy. En Configuración manual de proxy, anota la Dirección y el Puerto. - Abrir el perfil de bash de Ubuntu
Ejecutanano ~/.bashrcen Ubuntu. - Agregar variables de proxy
Agrega estas líneas al final del archivo:export HTTP_PROXY=http://proxy.example.com:8080export HTTPS_PROXY=http://proxy.example.com:8080
Reemplaza proxy.example.com:8080 con la dirección y el puerto de tu proxy real. - Guardar y recargar
Guarda el archivo con Ctrl+O, sal con Ctrl+X y luego ejecutasource ~/.bashrc. - Probar Copilot
Ejecuta Copilot en la misma sesión de terminal. Las variables de entorno de proxy ahora están activas.
Si Copilot aún tiene problemas después de la solución principal
Copilot devuelve un error de resolución de DNS
Si Copilot aún muestra un error de DNS después de configurar resolv.conf, la pila de red de WSL puede estar usando un DNS incorrecto en caché. Ejecuta sudo systemd-resolve --flush-caches en Ubuntu. Si systemd-resolve no está disponible, reinicia WSL por completo con wsl --shutdown en PowerShell y luego vuelve a abrir Ubuntu.
Copilot falla al autenticarse con un error de proxy
Si configuraste las variables de proxy pero Copilot aún falla, el proxy puede requerir autenticación. Agrega el nombre de usuario y la contraseña a la URL del proxy en el formato http://username:password@proxy.example.com:8080. Almacena estas variables en ~/.bashrc. Ten en cuenta que almacenar credenciales en texto plano es un riesgo de seguridad. Utiliza un servicio de autenticación de proxy dedicado si está disponible.
Copilot no puede acceder a ningún servidor externo
Si Copilot no puede acceder a ningún servidor, el adaptador virtual de WSL puede estar deshabilitado. Abre el Administrador de dispositivos de Windows, expande Adaptadores de red y busca el Adaptador Ethernet virtual de Hyper-V. Asegúrate de que esté habilitado. Luego ejecuta wsl --shutdown y reinicia Ubuntu.
| Elemento | WSL 1 | WSL 2 |
|---|---|---|
| Tipo de red | Compartida con el host de Windows | Red NAT virtual |
| Herencia de DNS | Hereda el DNS de Windows automáticamente | Utiliza un resolvedor interno, puede requerir configuración manual |
| Herencia de proxy | Hereda la configuración de proxy de Windows | No hereda el proxy; debe configurar variables de entorno |
| Impacto del firewall | Utiliza el proceso de Windows directamente | Requiere una regla de salida explícita para wsl.exe |
| Autenticación de Copilot | Generalmente funciona sin configuración adicional | A menudo falla sin ajustes de DNS o firewall |
Ahora puedes configurar DNS, firewall y proxy en WSL Ubuntu para que Copilot pueda acceder a login.microsoftonline.com. Comienza con la corrección de DNS porque resuelve la causa más común. Si usas una red corporativa, configura las variables de entorno de proxy a continuación. Para problemas persistentes, ejecuta wsl --shutdown para restablecer la pila de red de WSL antes de probar nuevamente. Como paso avanzado, considera usar un archivo de configuración de WSL que importe automáticamente la configuración de proxy de Windows mediante un script en .bashrc.