archlinux: wifi conectado pero sin internet mientras que internet funciona con cable

archlinux: wifi conectado pero sin internet mientras que internet funciona con cable

Tengo conexión por cable y también wifi.

La conexión a Internet por cable funciona, mientras que la conexión a Internet por wifi no funciona.

Si está conectado por cable y también por wifi, el siguiente es el resultado de ifconfig.

root@gauranga /home/simha # ifconfig 
enp2s0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.5.113  netmask 255.255.248.0  broadcast 192.168.7.255
        inet6 fe80::66f9:5aa3:5449:bbf5  prefixlen 64  scopeid 0x20<link>
        ether 68:f7:28:71:8d:be  txqueuelen 1000  (Ethernet)
        RX packets 736130  bytes 710984014 (678.0 MiB)
        RX errors 0  dropped 181  overruns 0  frame 0
        TX packets 278415  bytes 23924104 (22.8 MiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 1  (Local Loopback)
        RX packets 1428  bytes 369189 (360.5 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 1428  bytes 369189 (360.5 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

wlp3s0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.5.245  netmask 255.255.248.0  broadcast 192.168.7.255
        inet6 fe80::14ac:2256:c091:2660  prefixlen 64  scopeid 0x20<link>
        ether 2e:dc:cd:0d:1f:82  txqueuelen 1000  (Ethernet)
        RX packets 1237969  bytes 135361481 (129.0 MiB)
        RX errors 0  dropped 4059  overruns 0  frame 0
        TX packets 18074  bytes 2059915 (1.9 MiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

Si usa solo wifi, hace ping a 192.168.0.1

$ ping 192.168.0.1
PING 192.168.0.1 (192.168.0.1) 56(84) bytes of data.
64 bytes from 192.168.0.1: icmp_seq=1 ttl=64 time=10.7 ms
64 bytes from 192.168.0.1: icmp_seq=2 ttl=64 time=7.82 ms
64 bytes from 192.168.0.1: icmp_seq=3 ttl=64 time=12.0 ms
64 bytes from 192.168.0.1: icmp_seq=4 ttl=64 time=7.14 ms

mientras que hacer ping a google.com no muestra nada. no va más allá.

/etc/resolv.conf es

nameserver 192.168.0.1

También cuando estás en wifi:

simha@gauranga ~ % ip route show
default via 192.168.0.1 dev wlp3s0  proto static  metric 600 
192.168.0.0/21 dev wlp3s0  proto kernel  scope link  src 192.168.5.245  metric 600 

Y cuando está conectado por cable:

simha@gauranga ~ % ip route show
default via 192.168.0.1 dev enp2s0  proto static  metric 100 
192.168.0.0/21 dev enp2s0  proto kernel  scope link  src 192.168.5.113  metric 100 

No puedo entender el problema.

Todo esto sucedió después de que actualicé archlinux.

Respuesta1

Primero, si hace ping a google.com, su PC intenta resolver el nombre en una dirección IP a través de un servidor de nombres proporcionado /etc/resolv.conf(¡sin e al final!).

En segundo lugar, en caso de que no haya sido un error tipográfico aquí en superuser.com, su servidor de nombres apunta a 193.168.0.1, no 192.168.0.1. Por tanto, no puede resolver el nombre. En cambio, su PC intenta acceder a 193.168.0.1 y no lo encuentra. (Incluso si 193.168.0.1 era su servidor de nombres, no está en la misma red que 192.168.0.0/255.255.248.0. No es necesario que esté en la misma red, pero luego se debe configurar el enrutamiento para conocer una ruta al servidor de nombres).

Luego, verifique su tabla de enrutamiento a través de o ip route show( sinónimos). En caso de que no haya una ruta predeterminada, agregue una mediante . Después de eso, inténtalo de nuevo.ip routeip rip route add default via 192.168.0.1ping google.com

Editar: para configurar las rutas, incluida la ruta predeterminada de forma permanente, según la versión de su sistema, utilice netctlo systemd-networkd. En mis PC, tiendo a encontrar netctlmás estabilidad a la hora de configurar las rutas que systemd-networkd.

Respuesta2

Mismo caso que el mío donde mi dispositivo (Dell conBroadcom BCM43228donde instalé manualmente elb43-firmware) está conectado al Wi-Fi (inalámbrico) (como es visible en los dispositivos conectados al enrutador) pero no tiene acceso a Internet (no puede ping). estoy usandodisco duro /iwctlcomo se indica actualmente en elDocumento de instalación de Arch Linux.

Algunas cosas para probar:

  • Notas:
    • Puedes probar directamente el n.º 5 a continuación. Es el paso que finalmente me llevó a poderping google.com
    • Los siguientes comandos asumen wlan0el nombre del dispositivo como se ve en ip link. Ajustar en consecuencia.
  1. Iniciar/reiniciar eliwdservicio

    sudo systemctl start iwd.service
    

    Instalar si aún no existe. Utilice una conexión Ethernet por cable al enrutador o conecte un teléfono Android (que tenga acceso a Internet) y habilite "Módem USB" para que actúe como su conexión por cable. Si no es posible dentro del entorno Arch Linux, puede intentar usar el instalador de Arch (unidad de arranque), luego mountla unidad de disco duro mount --mkdir /dev/sda2 /mnt/sda2y chrootallí.arch-chroot /mnt/sda2

    pacman -S iwd
    
  2. Habilite la interfaz

    ip link  # or ls /sys/class/net
    ip link set wlan0 up  # where wlan0 is the device name
    
  3. Asegúrate de que estásconectado al wifi.

    sudo iwctl device wlan0 show
    sudo iwctl station wlan0 show
    

    Conectarsi aún no está conectado

    sudo iwctl --passphrase mywifipassword station wlan0 connect MyWifiSsidName
    

    Además, acceda al enrutador y vea los dispositivos conectados para asegurarse de estar conectado.

  4. Para habilitar la asignación automática de dirección IP,habilitar manualmente el cliente DHCP incorporadocomo se describe en la nota dentro delPasos para la conexión wifi.

    sudo cat >> /etc/iwd/main.conf 
    [General]
    EnableNetworkConfiguration=true
    
  5. Estefue elpasoEso finalmente hizo que funcionara para mí.

    Verifique los registros del sistema para ver si errorhay failcosas relacionadas con DNS. El mío mostróWARNING: src/resolve.c:resolve_systemd_set_dns() condition !systemd_state.is_ready failed

    journalctl
    journalctl | grep -i dns
    

    Compruebe si hay un error. El mío mostróFailed to set global data: Unit dbus-org.freedesktop.resolve1.service not found.

    systemd-resolve --status
    

    Reiniciar el servicio

    sudo systemctl restart systemd-resolved
    

    Después de este paso, pude lograr con éxitoping google.com

Para la depuración, algunos comandos útiles son dmesgy journalctl.

información relacionada