내 wlan0 에 대해 hostapd
설정했습니다 udhcpd
. 부팅 hostapd
하고 실행한 후 다른 장치의 ssid는 표시되지만 dhcp 주소는 표시되지 않습니다. 글쎄, udhcpd가 실행되고 있지 않고 다음과 같이 주장하기 때문에 할 수 없습니다 systemctl status udhcpd.service
.
● udhcpd.service - LSB: Start busybox udhcpd at boot time
Loaded: loaded (/etc/init.d/udhcpd)
Active: active (exited) since Thu 2017-03-16 14:24:06 CET; 7min ago
Process: 611 ExecStart=/etc/init.d/udhcpd start (code=exited, status=0/SUCCESS)
Mar 16 14:24:06 testo-mx6 systemd[1]: Starting LSB: Start busybox udhcpd at boot time...
Mar 16 14:24:06 testo-mx6 systemd[1]: Started LSB: Start busybox udhcpd at boot time.
Mar 16 14:24:06 testo-mx6 udhcpd[611]: Starting very small Busybox based DHCP server: udhcpd.
활성화되었지만 철회되었나요? 왜 그만두나요? 일련의 재부팅과 인터페이스 재설정을 시도한 결과 마침내 이 스크립트가 신뢰할 수 있다는 것을 알았습니다.
#!/bin/sh
systemctl stop udhcpd.service
systemctl stop hostapd.service
ifdown wlan0
ifup wlan0
sleep 1
systemctl start udhcpd.service
이제 모든 것이 예상대로 작동합니다. 하지만 이 스크립트를 사용하는 것은 불쾌한 해결 방법입니다. 서비스가 예상대로 시작되기를 원합니다.
내 /etc/udhcpd.conf
모습
start 192.168.42.20 #default: 192.168.0.20
end 192.168.42.254 #default: 192.168.0.254
interface wlan0 #default: eth0
max_leases 2 #default: 254
siaddr 192.168.42.42 #default: 0.0.0.0
sname foobar #default: (none)
option domain local
option lease 864000 # 10 days of seconds
그리고/etc/network/interfaces
auto wlan0
iface wlan0 inet static
hostapd /etc/hostapd/hostapd.conf
address 192.168.42.42
netmask 255.255.255.0
관련성이 있는 경우 /etc/hostapd/hostapd.conf
:
interface=wlan0
driver=nl80211
channel=1
hw_mode=g
wmm_enabled=0
max_num_sta=1
ssid=foobar
sleep
시작 항목에 하나를 추가하려고 시도했지만 /etc/init.d/udhcpd
(내가 찾은 다른 기사에서 도움이 되는 것 같았음) 아무 소용이 없었습니다.
답변1
systemd 또는 udhcpd에 대해 충분히 빠르지 않은 Atheros Wi-Fi 카드가 있는 시스템에서 이 문제가 발생했습니다. 여러 추상화 계층이 관련되어 있기 때문에 진단하는 것은 매우 실망스럽습니다. 내가 해결한 방법은 다음과 같습니다.
export _SYSTEMCTL_SKIP_REDIRECT=1
상단 근처의 LSB 헤더 뒤에 추가됩니다 . /etc/init.d/udhcpd
이렇게 하면 시스템 추상화 계층이 비활성화되고 sysv 시작 스크립트가 보다 정상적으로 실행될 수 있습니다.
sleep 30
섹션 시작 부분 에 추가되었습니다 . 이렇게 하면 DHCP 서버를 시작하기 전에 Wi-Fi 인터페이스에 약간의 시간이 제공됩니다. 그렇지 않으면 조용히 종료됩니다.start)
/etc/init.d/udhcpd
일단 작동하면 수면 시간을 하향 조정할 수 있습니다.
답변2
브리지와 연결된 atheros Wi-Fi 카드에 동일한 문제가 있습니다. udhcpd 서버는 br0에서 실행됩니다. udhcpd는 br0이 나타나기 전에 시작되는 것 같습니다. 내 해결책은 /etc/default/udhcpd를 만드는 것이었습니다DHCPD_활성화"no"로 변경하고 br0의 /etc/network/interfaces에 다음 네트워크 구성을 추가합니다.
post-up /usr/sbin/udhcpd -S /etc/udhcpd.conf