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
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....
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.
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?