Ich habe nach hostapd.service und isc-dhcp-server.service in den genannten Pfaden /lib/systemd/system/ und /etc/systemd/system/ gesucht, aber da liegt nichts Gleichnamiges. Aber sicherlich hat das auch wieder einen tieferen Sinn und diese Files sind vielleicht nur optional (oder werden die beiden daemons noch klassisch über init.d gestartet?).
Trotzdem bin ich eurem Rat und dem arch-wiki gefolgt, und habe eine customdependency.conf für den isc-dhcp-server angelegt:
Code: Alles auswählen
mkdir /etc/systemd/system/isc-dhcp-server.service.d
vi /etc/systemd/system/isc-dhcp-server.service.d/customdependency.conf
-->
[Unit]
Requires=hostapd.service
After=hostapd.service
So sollte der dhcp-server erst dann starten, wenn hostapd bereits läuft. Und das hat anscheinend auch gewirkt:
Code: Alles auswählen
syslog:
Dec 4 15:19:39 itx1 hostapd[520]: Starting advanced IEEE 802.11 management: hostapd.
Dec 4 15:19:39 itx1 systemd[1]: Started LSB: Advanced IEEE 802.11 management daemon.
Dec 4 15:19:39 itx1 systemd[1]: Starting LSB: DHCP server...
Dec 4 15:19:39 itx1 acpid: starting up with netlink and the input layer
Dec 4 15:19:39 itx1 acpid: 1 rule loaded
Dec 4 15:19:39 itx1 acpid: waiting for events: event logging is off
Dec 4 15:19:39 itx1 dhcpd: Internet Systems Consortium DHCP Server 4.3.1
Dec 4 15:19:39 itx1 dhcpd: Copyright 2004-2014 Internet Systems Consortium.
Dec 4 15:19:39 itx1 dhcpd: All rights reserved.
Dec 4 15:19:39 itx1 dhcpd: For info, please visit https://www.isc.org/software/dhcp/
Dec 4 15:19:39 itx1 dhcpd: Internet Systems Consortium DHCP Server 4.3.1
Dec 4 15:19:39 itx1 dhcpd: Copyright 2004-2014 Internet Systems Consortium.
Dec 4 15:19:39 itx1 dhcpd: All rights reserved.
Dec 4 15:19:39 itx1 dhcpd: For info, please visit https://www.isc.org/software/dhcp/
Dec 4 15:19:39 itx1 dhcpd: Wrote 2 leases to leases file.
Dec 4 15:19:39 itx1 dhcpd: Server starting service.
Dec 4 15:19:39 itx1 exim4[523]: Starting MTA: exim4.
Dec 4 15:19:39 itx1 exim4[523]: ALERT: exim paniclog /var/log/exim4/paniclog has non-zero size, mail system possibly broken
Dec 4 15:19:39 itx1 systemd[1]: Started LSB: exim Mail Transport Agent.
Dec 4 15:19:40 itx1 kernel: [ 3.703059] i915 0000:00:02.0: No connectors reported connected with modes
Dec 4 15:19:40 itx1 kernel: [ 3.703077] [drm] Cannot find any crtc or sizes - going 1024x768
Dec 4 15:19:40 itx1 kernel: [ 3.704673] fbcon: inteldrmfb (fb0) is primary device
Dec 4 15:19:40 itx1 kernel: [ 4.055892] Console: switching to colour frame buffer device 128x48
Dec 4 15:19:40 itx1 kernel: [ 4.060592] i915 0000:00:02.0: fb0: inteldrmfb frame buffer device
Dec 4 15:19:40 itx1 kernel: [ 4.060647] i915 0000:00:02.0: registered panic notifier
Dec 4 15:19:40 itx1 kernel: [ 4.101173] ACPI: Video Device [GFX0] (multi-head: yes rom: no post: no)
Dec 4 15:19:40 itx1 kernel: [ 4.102029] acpi device:09: registered as cooling_device6
Dec 4 15:19:40 itx1 kernel: [ 4.102197] input: Video Bus as /devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/LNXVIDEO:00/input/input10
Dec 4 15:19:40 itx1 kernel: [ 4.102493] [drm] Initialized i915 1.6.0 20080730 for 0000:00:02.0 on minor 0
Dec 4 15:19:40 itx1 systemd[1]: Starting system-systemd\x2dbacklight.slice.
Dec 4 15:19:40 itx1 systemd[1]: Created slice system-systemd\x2dbacklight.slice.
Dec 4 15:19:40 itx1 systemd[1]: Starting Load/Save Screen Backlight Brightness of backlight:acpi_video0...
Dec 4 15:19:40 itx1 systemd[1]: Started Load/Save Screen Backlight Brightness of backlight:acpi_video0.
Dec 4 15:19:41 itx1 kernel: [ 4.861525] [drm] Enabling RC6 states: RC6 on, RC6p off, RC6pp off
Dec 4 15:19:41 itx1 kernel: [ 5.081211] random: nonblocking pool is initialized
Dec 4 15:19:41 itx1 isc-dhcp-server[673]: Starting ISC DHCP server: dhcpd.
Dec 4 15:19:41 itx1 systemd[1]: Started LSB: DHCP server.
Etwas verwirrend finde ich ja, wie oft der dhcp-server als gestartet in obigem Log-Auszug gemeldet wird. Gleich viermal, wenn man die Zeilen herausschneidet:
Code: Alles auswählen
Dec 4 15:19:39 itx1 systemd[1]: Starting LSB: DHCP server...
...
Dec 4 15:19:39 itx1 dhcpd: Server starting service.
...
Dec 4 15:19:41 itx1 isc-dhcp-server[673]: Starting ISC DHCP server: dhcpd.
...
Dec 4 15:19:41 itx1 systemd[1]: Started LSB: DHCP server.
So, gerade an dieser Stelle wollte ich meinen Beitrag abschicken und habe nur kurz nochmal einen Reboot zur Kontrolle gemacht. Ergebnis: Mist, doch wieder unerwartetes Verhalten! Der dhcp-server läuft, obwohl der hostapd gar nicht in der Prozessliste ist:
Code: Alles auswählen
# ps ax | egrep "host|dhcp"
768 ? Ss 0:00 /usr/sbin/dhcpd -q -cf /etc/dhcp/dhcpd.conf -pf /var/run/dhcpd.pid wlan0
Irgendwas ist beim Start von hostapd wohl schiefgelaufen, und
trotzdem ist der dhcp-server dann noch gestartet:
Code: Alles auswählen
# systemctl status hostapd
● hostapd.service - LSB: Advanced IEEE 802.11 management daemon
Loaded: loaded (/etc/init.d/hostapd)
Active: active (exited) since Thu 2014-12-04 15:57:07 CET; 4min 46s ago
Process: 467 ExecStart=/etc/init.d/hostapd start (code=exited, status=0/SUCCESS)
Dec 04 15:57:07 itx1 hostapd[467]: Starting advanced IEEE 802.11 management: hostapd failed!
Dec 04 15:57:07 itx1 systemd[1]: Started LSB: Advanced IEEE 802.11 management daemon.
# systemctl status isc-dhcp-server
● isc-dhcp-server.service - LSB: DHCP server
Loaded: loaded (/etc/init.d/isc-dhcp-server)
Drop-In: /etc/systemd/system/isc-dhcp-server.service.d
└─customdependency.conf
Active: active (running) since Thu 2014-12-04 15:57:09 CET; 6min ago
Process: 573 ExecStart=/etc/init.d/isc-dhcp-server start (code=exited, status=0/SUCCESS)
CGroup: /system.slice/isc-dhcp-server.service
└─768 /usr/sbin/dhcpd -q -cf /etc/dhcp/dhcpd.conf -pf /var/run/dhcpd.pid wlan0
Immerhin läßt sich mit obigem systemctl Kommando noch erkennen, daß er meine customdependency.conf einbezogen hat. Mit einer gewissen Zufälligkeit scheint der hostapd mal richtig beim boot zu starten und mal nicht. Aber auch wenn der hostapd nach seinem Startversuch gleich abgesemmelt sein sollte, hätte ich eigentlich erwartet, daß der dhcp-server dann von systemd nicht mehr gestartet wird (wegen Requires und After).
Dem unzuverlässigen Start von hostapd beim boot muß ich jetzt also auch noch nachgehen - sorry, daß dieser Beitrag dadurch etwas länger geworden ist. Dank eurer Hilfe bin ich jedenfalls schon wieder einen Schritt weiter.