Hostapd 핫스팟에 DHCP 주소를 제공하도록 Dnsmaq 구성

Hostapd 핫스팟에 DHCP 주소를 제공하도록 Dnsmaq 구성

dnsmasq를 Hostapd 기반 WiFi 핫스팟용 DHCP 서버로 설정하려고 합니다.

클라이언트가 WAP2에 연결하면 협상이 성공하지만 dnsmasq는 항상 다음 오류를 출력합니다.

[ 2081.576809] DHCP[wlan0] - DISCOVER [TX][ 2081.580476]                        
[ 2081.582008] DHCP[wlan0] - DISCOVER [RX]                                      
dnsmasq-dhcp: no address range available for DHCP request via wlan0             
[ 2085.297432] DHCP[wlan0] - DISCOVER [TX][ 2085.301107]                        
[ 2085.302630] DHCP[wlan0] - DISCOVER [RX]                                      
dnsmasq-dhcp: no address range available for DHCP request via wlan0             

이는 일반적으로 구성된 범위가 장치 설정과 호환되지 않음을 의미합니다.

그렇다면 왜 그런지 이해가 되지 않습니다.

내 테스트는 dnsmaq.conf매우 기본적입니다.

root@imx8qxpa0tcuap:~# cat /etc/dnsmasq.conf                                    
domain-needed                                                                   
bogus-priv                                                                      
interface=wlan0                                                                 
dhcp-range=192.168.207.20,192.168.207.50,12h                                    

...현재 네트워크 설정은 다음과 호환되어야 합니다.

root@imx8qxpa0tcuap:~# ip addr show wlan0
5: wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP 0
    link/ether a0:cc:2b:a5:e0:05 brd ff:ff:ff:ff:ff:ff
    inet 192.168.207.1/32 scope global wlan0
       valid_lft forever preferred_lft forever
    inet6 fe80::a2cc:2bff:fea5:e005/64 scope link
       valid_lft forever preferred_lft forever
root@imx8qxpa0tcuap:~# ip route
192.168.207.0/24 dev wlan0 scope link

초기 dnsmasq 출력에는 문제가 없습니다.

root@imx8qxpa0tcuap:~# dnsmasq -d
dnsmasq: started, version 2.78 cachesize 150
dnsmasq: compile time options: IPv6 GNU-getopt no-DBus no-i18n no-IDN DHCP DHCPy
dnsmasq-dhcp: DHCP, IP range 192.168.207.20 -- 192.168.207.50, lease time 12h
dnsmasq: reading /etc/resolv.conf
dnsmasq: using nameserver 8.8.8.8#53
dnsmasq: using nameserver 8.8.4.4#53
dnsmasq: using nameserver 2001:4860:4860::8888#53
dnsmasq: using nameserver 2001:4860:4860::8844#53
dnsmasq: read /etc/hosts - 6 addresses

내가 뭘 잘못했나요?

참고 1:이 테스트 설정에서 WiFi 핫스팟은 아무데도 가지 않지만 클라이언트와 핫스팟 자체 간의 통신만 작동해야 합니다.

노트 2:이 머신은 Yocto 기반 배포판을 실행하는 맞춤형 보드(i.MX8)입니다.

답변1

wlan0 인터페이스에 잘못된 네트워크 마스크가 있습니다.

-->>> 192.168.207.1/32

/32 넷마스크에는 32비트, 즉 전체 IP 주소인 255.255.255.255가 있습니다.

192.168.207.0/24(예: 클래스 C 네트워크 주소라고도 하는 255.255.255.0)를 참조할 수 있습니다. /24 마스크를 사용하면 192.168.207.1에서 192.168.207.254까지 최대 254개의 IP 주소를 제공할 수 있습니다.

관련 정보