udhcpd.service가 시작되었지만 udhcpd 프로세스가 실행되고 있지 않습니다.

udhcpd.service가 시작되었지만 udhcpd 프로세스가 실행되고 있지 않습니다.

내 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

관련 정보