Tag archieven: systemd

Dynamische Gateway – deel 2

In het vorige bericht is gesproken over het dynamisch maken van de gateway op een server. Na de setup is er een aanpassing gemaakt om de statische default-route uit te schakelen. Een bijkomend nadelig effect is dat bij een herstart van de server deze onbereikbaar maakt. Waarom? Omdat de FRR daemon start en het netwerk nog niet gereed is en het dus een fout oploopt en faalt. Dus dan raak je aan een console sessie of wellicht DRAC/ILO of misschien wel een fysiek bezoek.

Een oplossing kan in het systemd ecosysteem gevonden worden. Er zijn zelfs 2 (misschien wel meer) manieren mogelijk.

De eerste is een simpele delay timer. Met systemctl edit frr.service kan je aanpassingen maken (zijnde override). Voeg het onderstaande toe onder de eerste 2 (commented) regels:

[Service]
ExecStartPre=/bin/sleep 5

Sla het op en klaar. Maar: wat als het opstarten van netwerk te lang duurt? De timer omhoog is een manier maar niet heel robuust. Het kan ook misschien langer duren dan nodig is, of ook weer falen.

Het kan ook op de volgende manier, in dezelfde edit modus van de systemctl met de FRR service.

[Unit]
BindsTo=systemd-networkd.service
After=systemd-networkd.service

Hiermee koppel je de FRR service aan de systemd-networkd service en word pas gestart als het netwerk gereed is. Eigenlijk is de After voldoende maar de BindsTo is een andere praktische oplossing. Als iets of iemand het netwerk op de server herstart, word FRR meegenomen in de herstart!