Linux에서 패스페이즈 없이 WIFI AP(hostapd)를 연결하는 방법은 무엇입니까?

Linux에서 패스페이즈 없이 WIFI AP(hostapd)를 연결하는 방법은 무엇입니까?

저는 임베디드 Linux 시스템(kernel-5.14)에서 작업 중이며, Hostapd(및 SoftAP 모드 사용)를 사용하여 장치를 WIFI AP로 구성하려고 합니다.

Hostapd.conf의 주요 수정 사항은 다음과 같습니다. passphase를 통한 AP 연결을 지원합니다.

interface=uap0
wpa=2
wpa_passphrase=12345678
wpa_key_mgmt=WPA-PSK
rsn_pairwise=CCMP TKIP
wpa_pairwise=TKIP CCMP
auth-algs=3

이에 따라 udhcpd.conf를 구성했습니다. 그
후에는 저장될 로그를 볼 수 있습니다.hostapd -B /etc/hostapd.confudhcpd -c /etc/udhcpd.conf &AP ENABLED

passphase를 입력한 후 내 휴대폰에서 이 AP에 연결할 수 있고 AP(AP 장치의 udhcpd에서 가져옴)에서 내 휴대폰의 IP를 ping할 수 있습니다.

이제 비밀번호를 입력하지 않고 휴대폰에서 AP에 연결하고 싶습니다. 아래와 같이 Hostapd.conf를 변경해 보았습니다.

wpa=0
auth_algs=1
#wpa_passphrase=12345678

그런 다음 Hostapd와 udhcpd를 다시 시작하고 전화기에서 AP에 연결했습니다.
이번에 udhcpdAP의 신고 로그는 다음과 같습니다.

Sending IP 192.168.1.33
Sending IP 192.168.1.33
Sending IP 192.168.1.33
Sending IP 192.168.1.33

getting IP Address내 전화기가 잠시 나타난 후 AP에 연결되지 않습니다.

hostapd그래서 패스페이즈 없이 AP()에 연결할 수 있는지 잘 모르겠는데 , 그렇다면 어떻게 구성할 수 있나요 hostapd.conf?

답변1

요청에 대한 응답 은 udhcpd전화기가 AP의 무선 네트워크에 성공적으로 연결되었음을 나타냅니다. WiFi 네트워크가 연결되어 있지 않으면 WiFi를 통해 DHCP 요청을 할 수 없습니다.

그러나 전화기는 일종의 인터넷 연결을 시도하여 수신한 IP 주소가 실제로 유효한지 여부를 확인할 수도 있습니다. IP 라우팅을 활성화하지 않은 경우 전화기는 사용자로부터 수신한 IP 주소를 거부하고 udhcpd실제로 해당 IP를 사용하여 특정 인터넷 서비스와 통신할 수 없다는 것을 발견했기 때문에 다시 시도할 수 있습니다.

답변2

작동시키는 방법을 찾았습니다.
내 시스템에는 WLAN0 인터페이스가 있고 WLAN0에 uap0으로 SoftAP를 생성하고 전화기가 연결된 AP로 uap0을 사용하려고 합니다.

이 기능이 작동하려면 먼저 /etc/hostapd.conf다음을 구성해야 합니다.

interface=uap0
driver=nl80211
auth_algs=1
hw_mode=g
#wpa=2
#wpa_passphrase=abcdef123

이 임베디드 시스템에서 AP 서비스를 시작하는 데 필요한 단계는 다음과 같습니다.

ifconfig wlan0 up
iw dev wlan0 interface add uap0 type __ap
ifconfig uap0 192.168.0.1
hostapd -B /etc/hostapd.conf
touch /var/lib/misc/udhcpd.leases
udhcpd -f /etc/udhcpd.conf &

그런 다음 휴대폰에서 AP를 검색하여 연결하세요. 이때 비밀번호를 입력할 필요가 없습니다. 다음 로그가
표시됩니다 udhcpd.

udhcpd: sending ACK to 192.168.0.20
udhcpd: sending ACK to 192.168.0.20
udhcpd: sending ACK to 192.168.0.20
udhcpd: sending ACK to 192.168.0.20

전화기의 IP(192.168.0.20)를 핑하여 얻을 수 있습니다.

PING 192.168.0.20 (192.168.0.20): 56 data bytes
64 bytes from 192.168.0.20: seq=6 ttl=64 time=3.944 ms
64 bytes from 192.168.0.20: seq=7 ttl=64 time=6.440 ms
64 bytes from 192.168.0.20: seq=8 ttl=64 time=2.547 ms
.....

위의 구성과 단계에 따라 WLAN0을 직접 사용하여 테스트하고 동일한 결과를 얻으세요.

관련 정보