[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: bind9 wird zu frueh gestartet



Hi

Am 17.06.2017 um 15:19 schrieb Marc Haber:
> On Sat, 17 Jun 2017 13:04:13 +0200, Michael Biebl <biebl@debian.org>
> wrote:
>> Am 17.06.2017 um 12:29 schrieb Michael Biebl:
>>> Am 17.06.2017 um 12:10 schrieb Sven Hartge:
>>>
>>>> Wenn "ifupdown", dann sollte es reichen, ein Override für bind9.serice
>>>> zu machen und dort 
>>>>
>>>> ,----
>>>> | [Unit]
>>>> | After=network-online.target
>>>> `----
>>>
>>> After=network.target (was momentan in bind9.service verwendet wird), ist
>>> eigentlich nur für den shutdown relevant.
>>> Siehe auch
>>> https://www.freedesktop.org/wiki/Software/systemd/NetworkTarget/
>>
>> Um nochmal das wiki zu bemühen, was du möchtest ist
>> Wants=network-online.target
>> After=network-online.target
> 
> Das ist also ein Bug im bind9-Paket?

Vermutlich. Wie ist denn die Default-Konfiguration von bind9? Bindet
sich die explizit an ausgewählte interfaces?


> Zusätzlich braucht es wohl noch ein "After=systemd-networkd.service",
> sonst ist der Zauber schon gelaufen bevor der systemd-networkd
> überhaupt gestartet wurde und man müsste im Script noch andere Dinge
> (Link, Defaultroute, Gateway erreichbar?) prüfen.

In deinem wait-network-ready.service? Ja, After=systemd-networkd.service
ist dann korrekt. Siehe auch
systemd-networkd-wait-online.service welches ebenfalls
After=systemd-networkd.service hat.


> Das habe ich mal probiert:
> |[17/472]mh@alemana:~ $ sudo systemctl cat wait-network-ready.service
> |# /etc/systemd/system/wait-network-ready.service
> |[Unit]
> |Description=Wait until network is really ready
> |Before=network-online.target
> |After=systemd-networkd.service
> |
> |[Service]
> |ExecStart=/usr/local/bin/wait-network-ready
> |
> |[Install]
> |WantedBy=network-online.target

...

> Dennoch wird der bind9 direkt gestartet, während mein Skript noch
> wartet - syslog-Auszug:

...

> Hab ich da noch was falsch gemacht?

Ne, mein Fehler. Beim Beispiel war unvollständig/inkorrekt. Das Skript
sollte Type=oneshot verwenden.
Der default ist Type=simple. Bei Type=simple wird der Dienst als "ready"
betrachted, sobald der Prozess erfolgreich geforked wurde. Du möchtest
aber ja, dass er wartet bis das Skript komplett abgearbeitet wurde.

Michael

-- 
Why is it that all of the instruments seeking intelligent life in the
universe are pointed away from Earth?

Attachment: signature.asc
Description: OpenPGP digital signature


Reply to: