Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

Erweiterungsvorschlag für die dynamische DNS-Eintragung der Rechnernamen

Aperta
#151 2 commenti 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
5/5
Tempo stimato
Più di una settimana
Idoneità per principianti
35/100
Tipo di issue
Funzionalità
Chiarezza
Abbastanza chiara
Stato di attività
Tranquilla
Stack tecnologico
python

Direzione di ricerca

Inizia con /etc/dhcp/events.conf e /usr/lib/linuxmuster/dhcpd-update-samba-dns.py, tracciando come host-decl-name viene passato e utilizzato per gli aggiornamenti DNS diretti e inversi. Determina se la validazione debba utilizzare i ruoli dei computer Sophomorix o intervalli IP protetti; il lavoro è completato quando è stata implementata una policy accettata per i nomi host forniti dal client senza consentire nomi DNS protetti.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

Derzeit werden die DNS-Einträge (sowohl "Vorwärts" als auch Reverse) im Active-Directories vom Skript dhcpd-update-samba-dns.py im Rahmes eines DHCP-Leases gesetzt. Dies funktioniert allerdings nur, wenn der entsprechende Hostname mit der zugehörigen MAC-Adresse dem DHCP-Server bekannt ist. Daher werden in der devices.csv ja auch die MAC-Adressen erfasst.

Hat ein Rechner aber mehrere Netzwerkkarten (und damit MAC-Adressen), dann wird die Identifizierung eines Endgerätes schwierig. Doppelte Rechnerführung in der devices.csv sind da eine Lösung (allerdings kann der Rechnername nicht doppelt verwendet werden). Allerdings wird das schnell kompliziert, wenn Dockingstationen mit eigenen MAC-Adressen und Netzwerksegmentierung via VLANs ins Spiel kommen.

Wir verwenden bei uns an der Schule Ansible für die Installation und Konfiguration der Endgeräte. Da wäre uns die "momentante" IP-Adresse des Geräts eigentlich egal. Wichtig wäre, dass wir den Rechner unter seinem Namen erreichen können.

Die MAC-basierte Namenszuordnung bietet natürlich ein gewisses Maß an Sicherheit, wobei dies dank MAC-Spoofing nur eine scheinbare Sicherheit ist.

Folgender Änderungsvorschlag:

  • /etc/dhcp/events.conf
    statt nur host-decl-name (das ist der Hostname basierend auf der MAC-Adresse) übergibt man zusätzlich
    pick-first-value(option fqdn.hostname, option host-name) (das sind die vom Client übermittelten Hostnamen) an das Skript dhcpd-update-samba-dns.py

  • /usr/lib/linuxmuster/dhcpd-update-samba-dns.py
    Hat man kenen "host-decl-name" bekommen und statt dessen einen "Wunschnamen" vom Client, dann muss man checken, ob dieser akzeptiert werden kann. Da fallen mir jetzt zwei Check-Möglichkeiten ein:

    1. Das Skript ermittelt die die Sophomorix-Rolle des angegebenen "Computerobjekts".
      Wenn dies ein classroom-teachercomputer, classroom-studentcomputer, facultiy-teachercomputer oder ein staffcomputer ist, dann glaubt es dem Namen und nimmt die DNS-Änderung vor.
      Nachteil: Alle Computer müssen dann auch entsprechend im AD vorhanden sein (in der devices.csv eingepflegt sein).
    2. Das Skript macht einen DNS-Lookup des gewünschten Namens.
      Wenn dieser bereits im DNS vorhanden ist und einem gewissen IP-Range zugeordnet ist (Servernetz, DMZ, ...), dann wird der DNS-Eintrag geblockt. Sonst wird er getätigt.
      Der Check der geschützten IP-Segmente könnte man über Wildcard-Masken realisieren.

Ich würde auch eine entsprechende Lösung ausarbeiten und einen Pull-Request stellen. Ich erachte eine Diskussion vorab allerdings als zielführend.

Ich freue mich Kritik und Vorschläge

Raphael

Lingua principale
Python
Stelle
13
Fork
9
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Preparare l'ambiente

Questo progetto non fornisce container di sviluppo, Dockerfile né guida per i contributori, quindi l'ambiente è a tuo carico: parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di linuxmuster/linuxmuster-base7

Tutte le issue di linuxmuster/linuxmuster-base7

Issue simili

Altre issue su Python

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.