archlinux: wifi conectado, mas sem internet, onde a internet funciona com fio

archlinux: wifi conectado, mas sem internet, onde a internet funciona com fio

Tenho conexão com fio e também wi-fi.

A internet com conexão com fio funciona, enquanto a internet do wifi não funciona

Se conectado com fio e também wi-fi, o seguinte é a saída do 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

Se estiver usando apenas wifi, ele faz ping para 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

enquanto o ping para google.com não mostra nada. não vai mais longe.

/etc/resolv.conf é

nameserver 192.168.0.1

Também quando estiver em wi-fi:

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 

E quando conectado:

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 

Não consigo entender o problema.

Tudo isso aconteceu depois que atualizei o archlinux.

Responder1

Primeiro, se você executar ping em google.com, seu PC tentará resolver o nome para um endereço IP por meio de um servidor de nomes fornecido /etc/resolv.conf(sem e no final!).

Segundo, caso não tenha sido um erro de digitação aqui em superuser.com, seu servidor de nomes aponta para 193.168.0.1, não 192.168.0.1. Portanto, ele não pode resolver o nome. Em vez disso, seu PC tenta acessar 193.168.0.1 e não o encontra. (Mesmo que 193.168.0.1 era o seu servidor de nomes, não está na mesma rede que 192.168.0.0/255.255.248.0. Não precisa estar na mesma rede, mas o roteamento deve ser configurado para conhecer uma rota para o servidor de nomes).

Em seguida, verifique sua tabela de roteamento via ip route showou ip route( ip rsinônimos). Caso não haja rota padrão, adicione uma via ip route add default via 192.168.0.1. Depois disso, tente ping google.comnovamente.

Editar: para configurar as rotas incluindo a rota padrão permanentemente, dependendo da versão do seu systemd, use netctlou systemd-networkd. Nos meus PCs, costumo achar netctlmais estável na configuração das rotas do que systemd-networkd.

Responder2

Mesmo caso que o meu, onde meu dispositivo (Dell comBroadcom BCM43228onde instalei manualmente ofirmware b43) está conectado ao Wi-Fi (sem fio) (pois é visível nos dispositivos conectados do roteador), mas não tem acesso à Internet (não pode ping). estou usandoiwd /iwctlconforme instruído atualmente noDocumento de instalação do Arch Linux.

Algumas coisas para tentar:

  • Notas:
    • Você pode tentar diretamente o nº 5 abaixo. Foi o passo que finalmente me levou a ser capaz deping google.com
    • Os comandos abaixo assumem wlan0como nome do dispositivo visível em ip link. Ajuste de acordo.
  1. Iniciar/reiniciar oiwdserviço

    sudo systemctl start iwd.service
    

    Instale se ainda não existir. Use uma conexão Ethernet com fio ao roteador ou conecte um telefone Android (que tenha acesso à Internet) e habilite o "Modem USB" para que ele funcione como sua conexão com fio. Se não for possível no ambiente Arch Linux, você pode tentar usar o instalador Arch (unidade inicializável), depois mounta unidade de disco rígido mount --mkdir /dev/sda2 /mnt/sda2e chrootdentro delaarch-chroot /mnt/sda2

    pacman -S iwd
    
  2. Habilite a interface

    ip link  # or ls /sys/class/net
    ip link set wlan0 up  # where wlan0 is the device name
    
  3. Certifique-se de que você estáconectado ao Wi-Fi.

    sudo iwctl device wlan0 show
    sudo iwctl station wlan0 show
    

    Conectarse ainda não estiver conectado

    sudo iwctl --passphrase mywifipassword station wlan0 connect MyWifiSsidName
    

    Além disso, acesse o roteador e visualize os dispositivos conectados para ter certeza de que está conectado.

  4. Para ativar a atribuição automática de endereço IP,habilitar manualmente o cliente DHCP integradoconforme descrito na nota dentro doEtapas de conexão Wi-Fi.

    sudo cat >> /etc/iwd/main.conf 
    [General]
    EnableNetworkConfiguration=true
    
  5. Esseera oetapaisso finalmente fez com que funcionasse para mim.

    Verifique os logs do sistema para ver se errorfailalgo relacionado ao DNS. O meu mostrouWARNING: src/resolve.c:resolve_systemd_set_dns() condition !systemd_state.is_ready failed

    journalctl
    journalctl | grep -i dns
    

    Verifique se há algum erro. O meu mostrouFailed to set global data: Unit dbus-org.freedesktop.resolve1.service not found.

    systemd-resolve --status
    

    Reinicie o serviço

    sudo systemctl restart systemd-resolved
    

    Após esta etapa, consegui com sucessoping google.com

Para depuração, alguns comandos úteis são dmesge journalctl.

informação relacionada