최근에 armhf 기반 보드를 설정했는데 네트워크 구성에서 이 문제가 발생했습니다. 이제 TP-Link USB WiFi 어댑터가 연결되었으니 WiFi에 연결할 수 있는 것 같은데, 이더넷 케이블을 뽑으면 에서 구성한 IP 주소를 사용하여 보드에 연결할 수 없습니다 /etc/network/interfaces
. 액세스 포인트도 확인했지만 그에 따르면 내 장치는 Wi-Fi를 통해 연결되지 않았습니다.
통계에 따르면 꽤 잘 작동하는 것 같아서 조금 당황스럽습니다. 이것이 내가 지금까지 가지고 있는 것입니다:
$ tail -n [changes] /var/log/syslog
Mar 30 23:09:24 localhost kernel: [ 830.968410] sun7i-dwmac 1c50000.ethernet eth0: Link is Down
Mar 30 23:09:50 localhost kernel: [ 856.968094] sun7i-dwmac 1c50000.ethernet eth0: Link is Up - 100Mbps/Full - flow control rx/tx
연결이 실행되고 있는 것 같습니다.
$ iw wlan0 link
Connected to xx:67:5x:e1:9f:af (on wlan0)
SSID: UPCA887FD1
freq: 2452
RX: 187653 bytes (1131 packets)
TX: 500 bytes (6 packets)
signal: -48 dBm
tx bitrate: 57.8 MBit/s MCS 5 short GI
bss flags: short-slot-time
dtim period: 1
beacon int: 100
$ iwconfig
eth0 no wireless extensions.
wlan0 IEEE 802.11 ESSID:"nietwurk"
Mode:Managed Frequency:2.452 GHz Access Point: xx:67:5x:e1:9f:af
Bit Rate=72.2 Mb/s Tx-Power=20 dBm
Retry short limit:7 RTS thr:off Fragment thr:off
Encryption key:off
Power Management:off
Link Quality=66/70 Signal level=-44 dBm
Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0
Tx excessive retries:0 Invalid misc:0 Missed beacon:0
lo no wireless extensions.
$ ifconfig
...
wlan0 Link encap:Ethernet HWaddr 64:70:02:0e:10:99
inet addr:192.168.0.35 Bcast:192.168.0.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:4494 errors:0 dropped:2 overruns:0 frame:0
TX packets:11 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:498743 (487.0 KiB) TX bytes:1338 (1.3 KiB)
$ ifup -vvv wlan0
Configuring interface wlan0=wlan0 (inet)
run-parts --exit-on-error --verbose /etc/network/if-pre-up.d
run-parts: executing /etc/network/if-pre-up.d/bridge
run-parts: executing /etc/network/if-pre-up.d/ethtool
run-parts: executing /etc/network/if-pre-up.d/hostapd
run-parts: executing /etc/network/if-pre-up.d/ifenslave
+ [ inet = meta ]
+ IF_BOND_SLAVES=
+ [ ]
+ [ ]
+ [ -z ]
+ exit
run-parts: executing /etc/network/if-pre-up.d/vlan
run-parts: executing /etc/network/if-pre-up.d/wireless-tools
run-parts: executing /etc/network/if-pre-up.d/wpasupplicant
wpa_supplicant: wpa-driver nl80211,wext (default)
wpa_supplicant: /sbin/wpa_supplicant -s -B -P /run/wpa_supplicant.wlan0.pid -i wlan0 -D nl80211,wext -C /run/wpa_supplicant
Starting /sbin/wpa_supplicant...
wpa_supplicant: creating sendsigs omission pidfile: /run/sendsigs.omit.d/wpasupplicant.wpa_supplicant.wlan0.pid
wpa_supplicant: ctrl_interface socket located at /run/wpa_supplicant/wlan0
wpa_supplicant: configuring network block -- 0
wpa_supplicant: wpa-ssid "nietwurk" -- OK
wpa_supplicant: wpa-psk ***** -- OK
wpa_supplicant: enabling network block 0 -- OK
ip addr add 192.168.0.35/255.255.255.0 broadcast 192.168.0.255 dev wlan0 label wlan0
ip link set dev wlan0 up
run-parts --exit-on-error --verbose /etc/network/if-up.d
run-parts: executing /etc/network/if-up.d/ethtool
run-parts: executing /etc/network/if-up.d/ifenslave
+ [ inet = meta ]
+ [ ]
run-parts: executing /etc/network/if-up.d/ip
run-parts: executing /etc/network/if-up.d/mountnfs
run-parts: executing /etc/network/if-up.d/openssh-server
run-parts: executing /etc/network/if-up.d/upstart
run-parts: executing /etc/network/if-up.d/wpasupplicant
/etc/network/interfaces
allow-hotplug wlan0
iface wlan0 inet static
address 192.168.0.35
netmask 255.255.255.0
wpa-ssid nietwurk
wpa-psk <the psk, not in quotes>
wireless-mode Managed
어떤 아이디어가 있나요?
답변1
사전 공유 키(PSK) 유출을 방지하기 위해 /etc/network/interfaces에 대한 권한을 제한합니다(또는 /etc/network/interfaces.d/wlan0과 같은 최신 Debian 버전에서는 별도의 구성 파일을 사용합니다):
chmod 0600 /etc/network/interfaces
다음 예를 변경하여 WPA 비밀번호를 사용하여 SSID의 올바른 WPA PSK 해시를 계산하십시오.
wpa_passphrase myssid my_very_secret_passphrase
명령줄에 비밀번호를 입력하지 않으면 비밀번호를 묻는 메시지가 표시됩니다. 위 명령은 다음과 같은 출력을 제공합니다.
network={
ssid="myssid"
#psk="my_very_secret_passphrase"
psk=ccb290fd4fe6b22935cbae31449e050edd02ad44627b16ce0151668f5f53c01b
}
/etc/network/interfaces 파일에 넣으려면 "psk="에서 줄 끝까지 복사해야 합니다.
텍스트 편집기에서 /etc/network/interfaces를 엽니다.
nano /etc/network/interfaces
무선 인터페이스와 SSID 및 PSK HASH에 적합한 스탠자를 정의합니다. 예를 들어:
auto wlan0 iface wlan0 inet dhcp wpa-ssid myssid wpa-psk ccb290fd4fe6b22935cbae31449e050edd02ad44627b16ce0151668f5f53c01b
"auto" 섹션은 시스템 시작 시 인터페이스를 엽니다. 필요하지 않은 경우 이 줄을 제거하거나 주석 처리하세요.
- 파일을 저장하고 편집기를 종료합니다.
인터페이스를 엽니다. 그러면 wpa_supplicant가 백그라운드 프로세스로 시작됩니다.
# ifup wlan0