dnsmasq-Error auf Raspberry-Pi: failed to bind DHCP server socket: Address already in use?
Als ich in den Letzten Tagen meinen Raspberry-Pi einrichtete, um den Beerenpflücker (Roboterarm) aus ct 02/15 (S. 164) nach langer Bauzeit endlich fertigzustellen, bin ich auf folgendes Problem gestoßen:
Nach der Installation der Pakete hostapd, dnsmasq und avahi-daemon und dem Kopieren der bereitgestellten Konfigurationsdateien (ct.de/ycvg) startete dnsmasq mit folgender Fehlermeldung nicht:
dnsmasq: bad dhcp-range at line 8 of /etc/dnsmasq.conf
Danach habe ich mich auf verschiedenen Foren informiert (auch hier) habe die Konfigurationsdatei unter /etc/dnsmasq.conf auf das Folgende geändert (ohne auskommentierte Zeilen):
interface=wlan0
dhcp-range=wlan0,192.168.2.2,192.168.2.253,255.255.255.0,12h
port=0
Bei hostapd unter /etc/hostapd/hostapd.conf steht nun folgendes:
interface=wlan0
driver=rtl871xdrv
ctrl_interface=/var/run/hostapd
ctrl_interface_group=0
ssid=*Meine SSID*
hw_mode=g
channel=8
country_code=DE
ieee80211d=1
wpa=2
wpa_passphrase=*Meine Passphrase*
wpa_key_mgmt=WPA-PSK
wpa_pairwise=CCMP
rsn_pairwise=CCMP
beacon_int=100
auth_algs=3
ieee80211n=1
wmm_enabled=1
logger_syslog=-1
logger_syslog_levlel=2
logger_stdout=-1
logger_stdout_level=2
dump_file=/temp/hostapd.dumb
Nach den Änderungen passiert folgendes:
pi@raspberrypi ~ $ dnsmasq
dnsmasq: cannot open or create lease file /var/lib/misc/dnsmasq.leases: Permission denied
pi@raspberrypi ~ $ sudo dnsmasq
dnsmasq: failed to bind DHCP server socket: Address already in use
Was ist mein Fehler? Kennt sich irgendwer aus?
2 Antworten
![](https://images.gutefrage.net/media/default/user/12_nmmslarge.png?v=1551279448000)
Woher nimmst du die Liste von den Paketen, die installiert werden sollen ?
hostapd macht das WLAN-Interface zu einem Accesspoint ! Wie gehts dann weiter, wie ist die Gesamtkonzeption ? Ist das WLAN-Iface Endpunkt und was wird wo und wie gehostet ? dnsmasq ist ein DHCP-Server mit intergriertem DNS-Forwarder, was technisch gesehen ein Cache-only-DNS-Server ist. Bis hierhin ist alles klar und das sind alles Serverdaemonen.... Nun aber AVAHI ? Das ist dagegen ein reiner Clientdienst, der ebenfalls eine (multicast)DNS Implementierung, jedoch mit teilweise vertauschten Rollen enthält.
Wenn der Raspberry-Pi als eine Art Server und Accesspoint genutzt wird, wozu wird dann AVAHI gebraucht ? Ein Server, und die Konfiguration von hostapd erfordert eine STATISCHE Ip-adresskonfiguration, AVAHI dagegen erfordert und enthält eine dynamische Konfiguration (DHCP) als CLIENT, führt diese durch (ist ein DHCP-Client) und kann mit einer statischen IP-Konfiguration nicht funktionieren und macht so auch keinen Sinn....Das eine schliesst also das andere aus, wenn es auf die gleichen Interfaces angewendet wird und deshalb muss das Gesamtkonzept bekannt sein....
![](https://images.gutefrage.net/media/default/user/10_nmmslarge.png?v=1551279448000)
Wie geschrieben, soll der Pi einen Roboterarm steuern. Dies macht man, in dem sich der User in einen W-Lan hotspot einloggt und dort eine Steuerungsseite erhält. Doch wenn gar kein W-LAN Hotspot aufgebaut wird, kann ich an dieser Stelle auch nicht weiterarbeiten.
Die Pakete sind:
Adafruit-Raspberry-Pi-Python-Code (von GitHub)
python-twisted-core
python-twisted-web
python-setuptools
python-dev
Twisted (von der ct-Seite)
Autobahn (von der ct-Seite)
berrypicker (von der ct-Seite)
Bis hier hin gab es keinen Fehler. Dann komen die obigen 3,dann fakedns.
![](https://images.gutefrage.net/media/default/user/15_nmmslarge.png?v=1551279448000)
Die Kenntnis der dnsmasq.conf würde helfen. Die Fehlermeldung sagt ja eindeutig, das in Zeile 8 ein Fehler ist.
dnsmasq musst Du als root starten (sudo davorstellen), dann wird auch die dnsmasq.leases angelegt werden können. Du startest als pi und pi hat nicht die Berechtigung, in /var/ eine Datei zu schreiben.
Was geben
sudo netstat -ulpen | grep dns
ps aux | grep etwork
aus?