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 route
ip r
ip route add default via 192.168.0.1
ping google.com
Editar: para configurar las rutas, incluida la ruta predeterminada de forma permanente, según la versión de su sistema, utilice netctl
o systemd-networkd
. En mis PC, tiendo a encontrar netctl
má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 /iwctl
como 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 poder
ping google.com
- Los siguientes comandos asumen
wlan0
el nombre del dispositivo como se ve enip link
. Ajustar en consecuencia.
- Puedes probar directamente el n.º 5 a continuación. Es el paso que finalmente me llevó a poder
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
mount
la unidad de disco duromount --mkdir /dev/sda2 /mnt/sda2
ychroot
allí.arch-chroot /mnt/sda2
pacman -S iwd
-
ip link # or ls /sys/class/net ip link set wlan0 up # where wlan0 is the device name
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.
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
Estefue elpasoEso finalmente hizo que funcionara para mí.
Verifique los registros del sistema para ver si
error
hayfail
cosas 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 éxito
ping google.com
Para la depuración, algunos comandos útiles son dmesg
y journalctl
.