유선으로 연결하고 Wi-Fi도 연결했습니다.
유선 인터넷은 작동하지만 Wi-Fi 인터넷은 작동하지 않습니다
유선 및 Wi-Fi에 연결된 경우 다음은 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
Wi-Fi만 사용하는 경우 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
google.com에 핑을 보내면 아무 것도 표시되지 않습니다. 더 이상 진행되지 않습니다.
/etc/resolv.conf는
nameserver 192.168.0.1
또한 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
유선 연결 시:
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
문제를 이해할 수 없습니다.
이 모든 일은 내가 Archlinux를 업그레이드한 후에 일어났습니다.
답변1
먼저, google.com을 ping하면 PC는 /etc/resolv.conf
(끝에 e가 없음)에 제공된 이름 서버를 통해 이름을 IP 주소로 확인하려고 시도합니다.
둘째, superuser.com의 오타가 아닌 경우를 대비해 네임서버는 19를 가리킵니다.삼.168.0.1, 19 아님2.168.0.1. 따라서 이름을 확인할 수 없습니다. 대신 PC가 193.168.0.1에 접근하려고 시도하지만 찾지 못합니다. (19세라도삼.168.0.1은 네임서버였으며 192.168.0.0/255.255.248.0과 동일한 네트워크에 있지 않습니다. 동일한 네트워크에 있을 필요는 없지만 이름 서버에 대한 경로를 알 수 있도록 라우팅을 설정해야 합니다.
ip route show
그런 다음 , ip route
또는 (동의어) 를 통해 라우팅 테이블을 확인하세요 ip r
. 기본 경로가 없는 경우 를 통해 추가하세요 ip route add default via 192.168.0.1
. 그 후에 ping google.com
다시 시도해 보세요.
편집: 시스템 버전에 따라 기본 경로를 포함한 경로를 영구적으로 구성하려면 netctl
또는 를 사용하십시오 systemd-networkd
. 내 PC에서는 netctl
.systemd-networkd
답변2
내 장치가 있는 경우와 동일합니다(Dell브로드컴 BCM43228내가 수동으로 설치한 곳은b43-펌웨어)이 (무선) Wi-Fi에 연결되어 있지만(라우터의 연결된 장치에 표시됨) 인터넷에 액세스할 수 없습니다(할 수 없음 ping
). 나는 사용하고있다iwd /iwctl
현재 지침에 따라아치 리눅스 설치 문서.
시도해 볼 사항:
- 노트:
- 아래 #5를 직접 시도해 볼 수 있습니다. 궁극적으로 제가 할 수 있게 된 단계입니다.
ping google.com
- 아래 명령은
wlan0
에 표시되는 장치 이름으로 가정합니다ip link
. 그에 따라 조정하십시오.
- 아래 #5를 직접 시도해 볼 수 있습니다. 궁극적으로 제가 할 수 있게 된 단계입니다.
시작 / 다시 시작iwd서비스
sudo systemctl start iwd.service
아직 존재하지 않는다면 설치하세요. 라우터에 유선 이더넷 연결을 사용하거나 (인터넷에 액세스할 수 있는) Android 휴대폰을 연결하고 "모뎀 USB"를 활성화하여 유선 연결로 작동하도록 하세요. Arch Linux 환경에서 가능하지 않은 경우 Arch 설치 프로그램(부팅 가능한 드라이브)을 사용한 다음
mount
하드 디스크 드라이브를 사용해 보십시오mount --mkdir /dev/sda2 /mnt/sda2
.chroot
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
당신이 있는지 확인하십시오Wi-Fi에 연결되었습니다.
sudo iwctl device wlan0 show sudo iwctl station wlan0 show
연결하다아직 연결되지 않은 경우
sudo iwctl --passphrase mywifipassword station wlan0 connect MyWifiSsidName
또한, 라우터에 접속하여 연결된 장치를 확인하여 연결되어 있는지 확인하세요.
자동 IP 주소 할당을 활성화하려면,내장 DHCP 클라이언트를 수동으로 활성화메모에 설명된 대로Wi-Fi 연결 단계.
sudo cat >> /etc/iwd/main.conf [General] EnableNetworkConfiguration=true
이것이었다단계그것이 마침내 나를 위해 일하게 만들었습니다.
DNS와 관련된 모든 사항에
error
대한 시스템 로그를 확인하십시오 .fail
내 것이 보여줬어WARNING: src/resolve.c:resolve_systemd_set_dns() condition !systemd_state.is_ready failed
journalctl journalctl | grep -i dns
오류가 있는지 확인하세요. 내 것이 보여줬어
Failed to set global data: Unit dbus-org.freedesktop.resolve1.service not found.
systemd-resolve --status
서비스를 다시 시작하세요
sudo systemctl restart systemd-resolved
이 단계를 거친 후 성공적으로
ping google.com
디버깅에 유용한 몇 가지 명령은 dmesg
및 입니다 journalctl
.