{% extends "base.html" %} {% set active_page = "settings_dhcp" %} {% set can_edit = current_user.has_permission('settings_dhcp.edit') %} {% block page_title %}DHCP{% endblock %} {% block page_sub %}
Reservierungen aus den Client-Stammdaten generieren
{% endblock %} {% block content %}

DHCP-Server-Status

Rein lesende Erkennung — die App installiert oder startet nie selbst einen DHCP-Dienst.
{% if status.installed %}
Installiert {% if status.active is sameas true %} Dienst aktiv {% elif status.active is sameas false %} Dienst inaktiv {% else %} Dienst-Status unbekannt {% endif %}
{% if status.version %}
{{ status.version }}
{% endif %} {% if status.active is not sameas true %}

Dienst manuell starten: sudo systemctl enable --now isc-dhcp-server

{% endif %} {% else %} Nicht installiert

Kein dhcpd auf diesem Host gefunden. Installation bewusst manuell, außerhalb der App:
sudo apt-get install isc-dhcp-server

{% endif %}

Netzwerk-Konfiguration

Grundlage für die generierte Subnet- und Reservierungs-Deklaration.
{% if can_edit %}
Kommagetrennt, falls mehrere.
Separate Include-Datei — nicht die aktive dhcpd.conf. Per include "{{ cfg.dhcp_output_path }}"; einmalig manuell einbinden.
{% else %}

Für Änderungen fehlt das Recht „DHCP ändern“.

{% endif %}

Reservierungen aus den Clients

{{ reservations|length }} aktive{{ ' Clients' if reservations|length != 1 else 'r Client' }} mit gültiger MAC + IP. {% if skipped_count %}{{ skipped_count }} aktive{{ ' Clients' if skipped_count != 1 else 'r Client' }} ohne MAC/IP übersprungen.{% endif %}
{% if can_edit %}
{% endif %}
{% if reservations %}
{% for r in reservations %} {% endfor %}
HostnameMACIP-AdresseClient-Name
{{ r.hostname }} {{ r.mac }} {{ r.ip }} {{ r.name }}
{% else %}

Keine aktiven Clients mit MAC + IP vorhanden.

{% endif %}
Generierte Konfiguration (Vorschau)
{{ preview }}
{% endblock %}