Ich habe einen TFTP-Server mit einigen Clients (sagen wir, ABCD sind die Clients). Alle Clients müssen dieselbe Konfiguration haben (nur die Server-IP). Einige Clients müssen jedoch Dateien aus einem bestimmten Verzeichnis abrufen und andere aus anderen Verzeichnissen. Beispielsweise müssen A und B Dateien abrufen /tftp/1
und C, D aus /tftp/2
.
Am besten wäre es, zur Unterscheidung IP-Adressen und Subnetze zu verwenden („alle Clients in diesem Subnetz holen sich dieses Verzeichnis“), aber ich weiß nicht, ob TFTP das kann.
PS: Ich verwende TFTP freiwillig nicht und kann auch nichts anderes verwenden.
Antwort1
Vom TFTP-Protokoll (RFC 1350)
Sicherheitsüberlegungen
Da TFTP keine Anmelde- oder Zugriffskontrollmechanismen enthält, muss bei der Vergabe von Rechten an einen TFTP-Serverprozess darauf geachtet werden, dass die Sicherheit des Dateisystems des Serverhosts nicht verletzt wird. TFTP wird häufig mit Steuerelementen installiert, die nur Dateien mit öffentlichem Lesezugriff über TFTP verfügbar machen und das Schreiben von Dateien über TFTP untersagen.
Dann unterstützt das Protokoll selbst Ihre Anforderungen nicht.
Sie können einen bestimmten TFTP-Server verwenden, der Ihren Anforderungen entspricht, d. h.tftpd-hpaDieser Server implementiert eine Funktion namens„Dateinamen-Neuzuordnung“; Der --map-DateiOption gibt eine Datei an, die Regeln zur Neuzuordnung von Dateinamen enthält. Der Regelsatz verarbeitet jede Anfrage und leitet die Anfrage basierend auf der IP des Anforderers an ein bestimmtes Verzeichnis um. Siehe Manpages zu tftpd-hpa.