Archlinux: WLAN verbunden, aber kein Internet, während das Internet mit Kabel funktioniert

Archlinux: WLAN verbunden, aber kein Internet, während das Internet mit Kabel funktioniert

Ich habe eine Kabel- und auch eine WLAN-Verbindung.

Die kabelgebundene Internetverbindung funktioniert, während das Internet über WLAN nicht funktioniert

Bei einer Verbindung per Kabel und auch per WLAN ist die folgende Ausgabe von ifconfig zu sehen.

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

Wenn Sie nur WLAN verwenden, wird ein Ping an 192.168.0.1 gesendet.

$ 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

Beim Pingen an google.com wird jedoch nichts angezeigt. Weiter geht es nicht.

/etc/resolv.conf ist

nameserver 192.168.0.1

Auch bei WLAN:

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 

Und bei kabelgebundener Verbindung:

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 

Ich verstehe das Problem nicht.

All dies geschah, nachdem ich Archlinux aktualisiert hatte.

Antwort1

/etc/resolv.confWenn Sie zunächst google.com anpingen, versucht Ihr PC, den Namen über einen in (ohne e am Ende!) angegebenen Nameserver in eine IP-Adresse aufzulösen .

Zweitens, falls es hier auf superuser.com kein Tippfehler war, verweist Ihr Nameserver auf 193.168.0.1, nicht 192.168.0.1. Daher kann der Name nicht aufgelöst werden. Stattdessen versucht Ihr PC, zu 193.168.0.1 zu gelangen und findet es nicht. (Auch wenn 193.168.0.1 war Ihr Nameserver, er befindet sich nicht im selben Netzwerk wie 192.168.0.0/255.255.248.0. Er muss sich nicht im selben Netzwerk befinden, aber dann muss das Routing so eingerichtet sein, dass eine Route zum Nameserver bekannt ist).

Überprüfen Sie dann Ihre Routing-Tabelle über ip route showoder ip route( ip rSynonyme). Falls keine Standardroute vorhanden ist, fügen Sie eine über hinzu ip route add default via 192.168.0.1. Versuchen Sie es anschließend ping google.comerneut.

Bearbeiten: Um die Routen einschließlich der Standardroute dauerhaft zu konfigurieren, verwenden Sie je nach Ihrer Systemd-Version netctloder systemd-networkd. Auf meinen PCs finde ich netctldas Festlegen der Routen tendenziell stabiler als systemd-networkd.

Antwort2

Derselbe Fall wie bei mir, wo mein Gerät (Dell mitBroadcom BCM43228wo ich manuell installiert habe dieb43-firmware) ist mit dem (drahtlosen) WLAN verbunden (da es in den verbundenen Geräten des Routers sichtbar ist), hat aber keinen Zugriff auf das Internet (kann nicht ping). Ich verwendeiwd /iwctlwie derzeit in derArch Linux-Installationsdokument.

Einige Dinge, die Sie ausprobieren können:

  • Anmerkungen:
    • Sie können unten direkt Nr. 5 ausprobieren. Dies ist der Schritt, der letztendlich dazu führte, dass ichping google.com
    • Bei den folgenden Befehlen wird wlan0der Name des Geräts wie in angenommen ip link. Passen Sie ihn entsprechend an.
  1. Starten / Neustarten desiwdService

    sudo systemctl start iwd.service
    

    Installieren Sie es, falls es noch nicht existiert. Verwenden Sie entweder eine kabelgebundene Ethernet-Verbindung zum Router oder schließen Sie ein Android-Telefon (mit Internetzugang) an und aktivieren Sie „Modem USB“, damit es als kabelgebundene Verbindung fungiert. Wenn dies in der Arch Linux-Umgebung nicht möglich ist, können Sie versuchen, das Arch-Installationsprogramm (bootfähiges Laufwerk) und dann mountdas Festplattenlaufwerk zu verwenden mount --mkdir /dev/sda2 /mnt/sda2und chrootin diesesarch-chroot /mnt/sda2

    pacman -S iwd
    
  2. Aktivieren Sie die Schnittstelle

    ip link  # or ls /sys/class/net
    ip link set wlan0 up  # where wlan0 is the device name
    
  3. Stellen Sie sicher, dass Siemit dem WLAN verbunden.

    sudo iwctl device wlan0 show
    sudo iwctl station wlan0 show
    

    Verbindenwenn noch nicht verbunden

    sudo iwctl --passphrase mywifipassword station wlan0 connect MyWifiSsidName
    

    Greifen Sie außerdem auf den Router zu und zeigen Sie die verbundenen Geräte an, um sicherzustellen, dass Sie verbunden sind.

  4. Um die automatische IP-Adresszuweisung zu aktivieren,den integrierten DHCP-Client manuell aktivierenwie in der Anmerkung imSchritte zur Wi-Fi-Verbindung.

    sudo cat >> /etc/iwd/main.conf 
    [General]
    EnableNetworkConfiguration=true
    
  5. Daswar dasSchrittdadurch hat es bei mir endlich geklappt.

    Überprüfen Sie die Systemprotokolle auf DNS-bezogene Dinge. Meines errorzeigtefailWARNING: src/resolve.c:resolve_systemd_set_dns() condition !systemd_state.is_ready failed

    journalctl
    journalctl | grep -i dns
    

    Überprüfen Sie, ob ein Fehler vorliegt. Meins zeigteFailed to set global data: Unit dbus-org.freedesktop.resolve1.service not found.

    systemd-resolve --status
    

    Starten Sie den Dienst neu

    sudo systemctl restart systemd-resolved
    

    Nach diesem Schritt konnte ich erfolgreichping google.com

Zum Debuggen sind die Befehle dmesgund einige nützliche Befehle journalctl.

verwandte Informationen