Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

3.1K
Views
Sin conexión a Internet en WSL Ubuntu (Subsistema de Windows para Linux)

Recientemente instalé WSL Ubuntu 18.04 en mi máquina con Windows, pero nada parece funcionar correctamente porque no tengo acceso a Internet .
Probé algunos comandos y sudo apt update dice 'Error de conexión' y ping google.com literalmente lleva una eternidad, como puede ver en esta captura de pantalla:


También verifiqué nano /etc/resolv.conf y me aseguré de que los servidores de nombres fueran correctos, deshabilité completamente Kaspersky y su firewall, deshabilité Hyper-V, reinstalé WSL varias veces e incluso deshabilité Windows Defender. Nada ayudó.

Entonces, ¿tiene alguna idea de cuál podría ser el problema aquí?

over 4 years ago · Santiago Trujillo
21 answers
Answer question

0

Puede resolver este problema simplemente escribiendo este comando en su terminal

-> sudo systemctl reiniciar NetworkManager

over 4 years ago · Santiago Trujillo Report

0

Desafortunadamente, la única solución para mí fue:

  • desinstalar cualquier Ubuntu (18.10 y 20.04)
  • eliminar el subsistema Linux en las características de Windows
  • reiniciar
  • habilitar el subsistema Linux en las funciones de Windows
  • reiniciar
  • Reinstalar Ubuntu 20.04

Esto es con Win10 V1909 (OS Build 18363.1379). Había intentado todo en esta y otras publicaciones de stackoverflow, sin éxito.

Solo sugiero los pasos anteriores como último recurso absoluto.

over 4 years ago · Santiago Trujillo Report

0

Para mí, fue un problema con el servicio VPN (servicio NordVPN) que causó muchos problemas. Simplemente detenga su servicio desde services.msc .

over 4 years ago · Santiago Trujillo Report

0

Para mí, este problema surge cuando cambio de una red a otra. Digamos, por ejemplo, que estaba trabajando en el wifi de la oficina y luego me fui a casa y comencé a usar el wifi doméstico. La respuesta anterior https://stackoverflow.com/a/63578387/1409707 funcionó para mí. Parece que esto es un problema real, así que hasta que Windows encuentre una solución, tenía que encontrar una manera más fácil de hacerlo cada vez. Copié los comandos y creé un archivo bat, lo guardé en el escritorio. Entonces, cada vez que cambio la conexión/red wifi, ejecuto el archivo bat como administrador y reinicio el sistema. Espero que esto ayude a alguien que está tratando de averiguar por qué está sucediendo y cómo saber una manera fácil de solucionarlo (no permanente).

cree un nuevo archivo .bat con los siguientes contenidos.

Llamé a mi archivo como networkreset.bat

 wsl --shutdown netsh winsock reset netsh int ip reset all netsh winhttp reset proxy ipconfig /flushdns netsh winsock reset shutdown /r

cada vez que cambie el wifi/red, ejecute el script como administrador y reinicie.

Después de reiniciar, Internet funciona en WSL en la red conectada.

over 4 years ago · Santiago Trujillo Report

0

Abra el símbolo del sistema como administrador y escriba estos comandos:

 netsh winsock reset netsh int ip reset all netsh winhttp reset proxy ipconfig /flushdns

Reinicie su máquina.

https://github.com/microsoft/WSL/issues/3438#issuecomment-410518578

over 4 years ago · Santiago Trujillo Report

0

Tenía ufw instalado en WSL2 con debian 10, después de eliminarlo y reiniciar Windows funcionó.

over 4 years ago · Santiago Trujillo Report

0

Copio la receta que me funcionó.
Uso de WSL 2 en Windows 10.

Solución encontrada en https://github.com/microsoft/WSL/issues/5336#issuecomment-653881695


Pasos

  1. Abra Powershell o Cmd como administrador
    y ejecuta cada uno de estos comandos:

     wsl --shutdown netsh winsock reset netsh int ip reset all netsh winhttp reset proxy ipconfig /flushdns

  2. Presiona la tecla de Windows,
    escriba Network Reset ,
    Pulsa Enter.

    Debería ver esta ventana.
    Haga clic en "Restablecer ahora".

    Restablecimiento de red solución WSL mágica

  3. Reiniciar Windows

Si tiene suerte, WSL 2 ahora debería poder sudo apt-get update && sudo apt-get upgrade .


Caso de borde extraño

Para mí, todavía no puedo hacer ping a los sitios, pero Internet parece funcionar en cualquier otro lugar en WSL 2.

Por ejemplo, ping stackoverflow.com (o haga ping a cualquier sitio)
da como resultado una "pérdida de paquetes del 100 %".

Sin embargo curl --location stackoverflow.com -i
resulta en una respuesta exitosa.

Y sudo apt-get update && sudo apt-get upgrade ahora funciona.


Pasos de solución de problemas antes de encontrar la receta anterior :

No había usado WSL 2 en meses, estaba tratando de sudo apt update desde la terminal de una distribución de Debian cuando descubrí que mi Internet no funcionaba.

Pasé una hora configurando /etc/resolv.conf y /etc/wsl.conf de mi WSL y resolviendo el error de configuración automática ( https://github.com/microsoft/WSL/issues/3928 ). Todavía no funcionó.

Entonces encontré esta página. Probé las direcciones publicadas. No funcionó.

Finalmente encontré esta solución publicada, y WSL 2 de repente funciona perfectamente.


Me tomó horas tratar de solucionar esto, espero que esto sea útil para alguien algún día.

over 4 years ago · Santiago Trujillo Report

0

No desde arriba funcionó. ¡Pero cambiar a WSL 1 funcionó!

entonces en PowerShell como administrador:

 wsl --set-default-version 1

luego reinstalar Ubuntu

over 4 years ago · Santiago Trujillo Report

0

Esto me sucedió cuando intentaba instalar MySQL-Server en WSL2 y me equivoqué con ssh@local host tratando de acceder a la raíz en Ubuntu.
El sistema en sí se volvió realmente extraño (a veces desearía que hubiera alternativas para Ubuntu), así que intenté reiniciar el adaptador vEthernet (WSL) y reiniciar la computadora, y volvió a funcionar.

over 4 years ago · Santiago Trujillo Report

0

Así que no sé si esto ayuda a alguien, pero instalé Docker en Windows y seguí las instrucciones de Microsoft para instalar el motor WSL2 según lo recomendado por Docker.

Luego instalé Ubuntu 18.04 LTS con WSL2 y me encontré exactamente con el mismo problema: sin Internet. Todo lo que realmente quiero poder hacer es crear algunas imágenes de la ventana acoplable para probar, en mi computadora portátil de trabajo, por lo que WSL2 sin Internet fue un total fracaso para mí.

Después de mucho hurgar en varios foros y guías, incluido este hilo, esto es lo que finalmente funcionó para mí:

  • Reinstalé Docker con WSL2
  • Instalé Ubuntu 20.04 LTS desde Microsoft Store, pero configuré la versión WSL en 1 usando el símbolo del sistema de la siguiente manera

Este primer comando muestra la lista de distribuciones:
C:\usuarios\xyz> wsl -l -v

NOMBRE ESTADO VERSIÓN
Ubuntu-20.04 Corriendo 1
docker-desktop-datos Corriendo 2
docker-escritorio Corriendo 2

Así que ahora use el siguiente comando para configurar la versión de WSL: sustituya el nombre de su distribución y use 1 para cambiar a WSL v1

C:\usuarios\xyz> wsl --set-versión

Resultados

  1. En este punto, tenía una distribución de Ubuntu completamente funcional en WSL, con acceso completo a Internet y ninguna de las molestias de no poder acceder a los archivos de actualización, etc. Pero no había conectividad entre la distribución de Ubuntu y mi escritorio Docker.
  2. Para resolver la última pieza del rompecabezas, utilicé la guía proporcionada en este enlace . Simplemente siga las instrucciones directamente desde allí; es demasiado largo para reproducirlo aquí.

En pocas palabras: tengo una distribución de Ubuntu WSL1, se conecta a Internet y puedo crear imágenes acoplables usando la CLI en Ubuntu usando Dockerfiles sin ningún problema.

over 4 years ago · Santiago Trujillo Report

0

En mi caso, la red WSL comienza a no funcionar cuando instalé los requisitos de WSL2 y actualicé mi wsl a la versión 2.

Puede resolver el dominio a IP pero no puede comunicarse con IP a través de Internet.

Actualicé los módulos OS y wsl2 a la última versión y probé todas las soluciones alternativas, pero no funcionó.

Finalmente, encontré la solución.

  1. Vaya al Administrador de dispositivos y marque Ver > Dispositivo oculto
  2. Desinstale todas las extensiones de conmutador virtual de Hyper-V
  3. Eliminar "Subsistema de Windows para Linux" de Características
  4. Reiniciar
  5. Agregue "Subsistema de Windows para Linux" desde Características

Para mí, la distribución permaneció como la versión 2 después de eso, ¡pero está funcionando! Vale la pena intentarlo.

over 4 years ago · Santiago Trujillo Report

0

Usé esta respuesta para reiniciar la red varias veces, pero la última vez no funcionó.

Solo volvió a funcionar después de desmarcar la compresión en la carpeta 'Temp' (% TEMP%)

 compact /u /s:"%TEMP%" /i /Q

https://github.com/microsoft/WSL/issues/5336#issuecomment-770494713

Y así, los pasos de reinicio de la red.

Referencia de línea de comando:

https://www.tenforums.com/tutorials/26340-compress-uncompress-files-folders-windows-10-a.html

over 4 years ago · Santiago Trujillo Report

0

La razón por la que ocurre este error es porque Windows genera automáticamente el archivo resolv.conf con un servidor de nombres incorrecto.

Para resolver este problema, siga los siguientes pasos.

  1. Localice el archivo ejecutando el siguiente comando:

    sudo nano /etc/resolv.conf

Verá lo siguiente en el archivo:

 # This file was automatically generated by WSL. To stop automatic generation of this file, add the following entry to /etc/resolv.conf # [network] # generateResolvConf = false nameserver xxx.xx.xx
  1. Cambie el valor del servidor de nombres a 8.8.8.8 y guarde el archivo. Ahora debería poder conectarse a Internet.
over 4 years ago · Santiago Trujillo Report

0

Asegúrese de que la compresión NTFS esté deshabilitada para el siguiente archivo:

 %TEMP%\swap.vhdx

(es decir, normalmente { 2 , 3 , 4 }: C:\Users\%USERNAME%\AppData\Local\Temp\swap.vhdx )

Ventana de propiedades de archivo para %TEMP%\AppData\Local\Temp

Esto también podría suceder si ha movido toda su carpeta %TEMP% a otra ubicación.

Referencias:

  • https://github.com/microsoft/WSL/issues/5437#issuecomment-849173909
  • https://github.com/microsoft/WSL/issues/5336
over 4 years ago · Santiago Trujillo Report

0

Instalé wsl y Ubuntu 20.04.

Después de solucionar problemas durante días, esto es lo que funcionó para mí.

Quiero creer que aquellos que experimentan este problema como yo están ejecutando la versión 2 de wsl.

Este problema se resolvió tan pronto como volví a la versión 1 de wsl sin necesidad de realizar más configuraciones.

Para ver cómo efectuar este cambio, siga este enlace Cambiar la versión de wsl

over 4 years ago · Santiago Trujillo Report

0

En mi caso, si no estoy en VPN, Internet en mi WSL funciona. Cuando me conecto a VPN, de repente deja de funcionar. Hay una discusión relevante (todavía abierta el día que estoy publicando) sobre la pérdida de Internet en WSL mientras está en VPN aquí .

Esta solución presentada anteriormente para esta pregunta funciona pero requiere reiniciar:

 netsh winsock reset netsh int ip reset all netsh winhttp reset proxy ipconfig /flushdns

La otra solución presentada antes:

 sudo nano /etc/resolv.conf

con el cambio del servidor de nombres a 8.8.8.8 o 1.1.1.1 o cualquier otra dirección aleatoria, no me funciona mientras estoy en VPN .

Sin embargo, lo que lo resolvió es un híbrido de esta segunda solución y la discusión presentada anteriormente :

Paso 1:

Mientras está en VPN en Powershell:

 ipconfig /all

Busque su adaptador que esté vinculado a su conexión VPN. Por lo general, puede encontrar en la descripción algo como

"Cisco Anyconnect..."

Busque en ese bloque las direcciones de sus servidores DNS (para mí el primer servidor DNS no funcionó, así que tomé el segundo)

Paso 2: Tomado de esa misma discusión aquí , en PowerShell:

 Get-NetAdapter | Where-Object {$_.InterfaceDescription -Match "Cisco AnyConnect"} | Set-NetIPInterface -InterfaceMetric 6000

Paso 3:

Mientras estoy en VPN en mi WSL:

 $ sudo echo "nameserver <the DNS server address from point 1>" > /etc/resolv.conf

El inconveniente de esta solución (al igual que las anteriores) es que debe hacerlo en cada nuevo lanzamiento de su WSL. Para hacerlo un poco más fácil, se puede crear un breve script .sh para automatizarlo. En su WSL:

 $touch restore_internet_connection.sh $nano restore_internet_connection.sh

coloque el siguiente texto dentro:

 echo "nameserver <the output from point 1>" > /etc/resolv.conf

La próxima vez que tenga el problema, simplemente repita el paso 2 y:

 $sudo restore_internet_connection.sh
over 4 years ago · Santiago Trujillo Report

0

Bien, sé que este hilo no ha tenido mucha actividad en mucho tiempo. Pasé DÍAS tratando de arreglar esto en una computadora portátil de trabajo, porque la configuración corporativa no permite una dirección 8.8.8.8 (Google DNS), no solo tuve que editar WSL2 /etc/wsl.conf

 #/etc/wsl.conf [network] generateResolvConf = False

También tuve que escribir un script de PowerShell para escribir desde Windows en la carpeta WSL2 la dirección del servidor DNS real. No sé si es por lo bloqueada que está mi PC de trabajo o qué, pero solo puedo usar el servidor DNS que usa mi máquina con Windows, y WSL2 siempre extrae su propia dirección IP para llenar el archivo resolv.conf, que tiene sin servidor DNS.

Cualquier otra persona que sufra este problema, así es como lo solucioné. Guarde esto como lo que desee (en mi caso, debian.ps1, ejecute desde un indicador de Admin PowerShell ./debian.ps1), estoy usando una distribución Debian Buster WSL2 personalizada importada configurada como predeterminada; si está usando algo más que no está configurado como predeterminado, deberá cambiar la última línea (wsl.exe) para iniciar la distribución correcta:

 # Get the DNS server of the Windows machine, save into variable nameserver $nameserver = Get-WmiObject -Namespace root\cimv2 -Query "Select dnsserversearchorder from win32_networkadapterconfiguration" | where {$_.DNSServerSEarchOrder -ne $null} | select -ExpandProperty DNSServerSearchOrder # Convert nameserver object into a string $nameserver = Out-String -InputObject $nameserver # Run Set-Contents (sc) to write the resolv.conf file in a public location as it has DOS formatted line endings written by PowerShell, not readable by Linux sc -Path 'c:\Users\Public\Documents\resolv.conf' -Value ('nameserver ' + $nameserver) -Encoding utf8 # Convert the DOS formatted file into UNIX format for WSL2 and write it in the proper place (\etc\resolv.conf, its primary location is \\wsl$\[distro_name] from Windows) [string]::Join( "`n", (gc 'c:\Users\Public\Documents\resolv.conf')) | sc '\\wsl$\debian\etc\resolv.conf' wsl.exe

Tenga en cuenta que si su distribución no está en \wsl$\debian\, deberá cambiarla a donde realmente reside. Sé que esto no es bonito, y se basa en muchas soluciones diferentes publicadas en Internet, pero es la única que funciona con mi PC administrada por la empresa y las políticas de grupo. Espero que esto ahorre a alguien muchas molestias en una PC administrada por la empresa. Tenga en cuenta que si se está conectando a través de VPN, no creo que esto funcione; tampoco lo he probado en la oficina con Coronavirus, se está ejecutando en WiFi doméstico. Es posible que se necesiten algunos ajustes si está directamente en la red de una empresa.

over 4 years ago · Santiago Trujillo Report

0

NOTA : esta solución soluciona los problemas de resolución de DNS en WSL. Las configuraciones absurdas pueden hacer que la distribución WSL no tenga ninguna conexión a Internet.

La solución es configurar el DNS de su adaptador Ethernet/WiFi a su elección preferida. WSL usa el DNS de su máquina host. los comandos como wget funcionaban para mí, sin embargo, los comandos como apt update no parecían funcionar; básicamente, no podía resolver la URL del archivo de ubuntu.

Como se ve en esta imagen, el valor de DNS está vacío. Se deduce del DNS de la máquina host.

wsl_adapter_settings

Aquí está la imagen de las propiedades del adaptador de la máquina host donde el DNS se proporciona manualmente. Si elige la opción de DNS automático para el host , es posible que algunas cosas no funcionen en el DNS proporcionado por su ISP.

ajustes_del_adaptador_del_host

Se recomienda usar OpenDNS, Google DNS o CloudFlare DNS ya que estos son bastante rápidos y confiables. Use DNSBenchmark para encontrar el más rápido para su conexión. Me gustaría resaltar que es estrictamente su elección.

over 4 years ago · Santiago Trujillo Report

0

Para mí, el servidor de nombres ya no se podía hacer ping. Así que hice lo siguiente y funcionó para mí.

  • escriba "Activar o desactivar las funciones de Windows" en el indicador de Windows, abra la aplicación ingrese la descripción de la imagen aquí
  • deshabilitar el subsistema Linux en las características de Windows ingrese la descripción de la imagen aquí
  • deshabilitar hyper-v (todos los subcomponentes) ingrese la descripción de la imagen aquí
  • Haga clic en "Aceptar" y siga para reiniciar
  • habilitar el subsistema Linux en las funciones de Windows ingrese la descripción de la imagen aquí
  • habilitar hiper-v ingrese la descripción de la imagen aquí
  • Haga clic en "Aceptar" y siga para reiniciar

Desafortunadamente, no pude eliminar Ubuntu ya que contenía mi trabajo. Había intentado todo en esta y otras publicaciones de stackoverflow, sin éxito.

Pero lo anterior funcionó para mí y sin pérdida de trabajo.

over 4 years ago · Santiago Trujillo Report

0

Si lo solucionó cambiando el DNS pero WSL2 sigue sobrescribiendo, siga leyendo.

  1. Reemplace el servidor de nombres De manera similar a @Jeffrey Kilelo's
 # Replace the nameserver sudo rm /etc/resolv.conf sudo bash -c 'echo "nameserver 1.1.1.1" > /etc/resolv.conf'

Si obtiene Operación no permitida . Cámbielo manualmente usando sudo nano /etc/resolv.conf

  1. Para evitar que WSL 2 sobrescriba este valor, ejecute los siguientes comandos :
 # Turn off generateResolvConf sudo bash -c 'echo "[network]" > /etc/wsl.conf' sudo bash -c 'echo "generateResolvConf = false" >> /etc/wsl.conf' sudo chattr +i /etc/resolv.conf
over 4 years ago · Santiago Trujillo Report

0

Receta que funcionó para mí. (WSL2 + Cisco AnyConnect)

  1. Conecte VPN y obtenga la lista de servidores DNS, la necesitaremos más tarde (ejecutar en PowerShell elevado)
 Get-DnsClientServerAddress -AddressFamily IPv4 | Select-Object -ExpandProperty ServerAddresses
  1. Obtener dominio de búsqueda (ejecutar en PowerShell)
 Get-DnsClientGlobalSetting | Select-Object -ExpandProperty SuffixSearchList
  1. Abra WSL y ejecute:
 sudo unlink /etc/resolv.conf # this will unlink the default wsl2 resolv.conf # This config will prevent wsl2 from overwritting the resolve.conf file everytime # you start wsl2 cat <<EOF | sudo tee -a /etc/wsl.conf [network] generateResolvConf = false EOF cat <<EOF | sudo tee -a /etc/resolv.conf nameserver 10.50... # The company DNS/nameserver from the command in step 1 nameserver 10.50... # The company DNS/nameserver from the command in step 1 nameserver 10.50... # list all nameservers from step 1 nameserver 8.8.8.8 nameserver 8.8.4.4 search this.searchdomain.com # The search domain that we got from step 2 EOF # Make the new /etc/resolve.conf immutable sudo chattr +i /etc/resolv.conf
  1. Cambie la métrica de Cisco Anyconnect del valor predeterminado 1 a 6000 dentro de PowerShell
 Get-NetAdapter | Where-Object {$_.InterfaceDescription -Match "Cisco AnyConnect"} | Set-NetIPInterface -InterfaceMetric 6000

Esto debe hacerse cada vez que se conecta VPN. Vea aquí https://gist.github.com/machuu/7663aa653828d81efbc2aaad6e3b1431 cómo automatizar esta tarea.

  1. Reinicie wsl2 en el mismo powershell elevado, luego puede abrir wsl2 y debería conectarse a Internet.
 Restart-Service LxssManager

Tomado aquí: https://jamespotz.github.io/blog/how-to-fix-wsl2-and-cisco-vpn

over 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!