bootp(8) bootp(8)
NAME
bootp, bootpgw, in.bootp, in.bootpgw - Internet-Boot-Protokoll-
Server/Gateway
SYNTAX
in.bootp [-i -s -t timeout -d level -c chdir-path] [bootptab
[dumpfile]]
in.bootpgw [-i -s -t timeout -d level] server
BESCHREIBUNG
in.bootp implementiert einen Internet-Bootstrap-Protokoll-Server
(BOOTP) gemäß den Angaben unter RFC951, RFC1532 und RFC1533.
in.bootpgw implementiert einen einfachen BOOTP-Gateway, mit dem man
Anforderungen und Antworten zwischen Client-Rechnern auf einem Subnetz
und einem BOOTP-Server (in.bootp) auf einem anderen Subnetz hin- und
herschicken kann. Mit beiden Kommandos kann man BOOTREPLY-Pakete wei-
terleiten, BOOTREQUEST-Pakete aber nur mit in.bootpgw.
Im allgemeinen wird mit dem Dämon-Prozeß inetd entweder in.bootp oder
in.bootpgw in die Konfiguration aufgenommen. Dazu muß die Datei
/etc/inet/inetd.conf eine der folgenden Zeilen enthalten:
bootp dgram udp wait root /usr/sbin/in.bootp in.bootp
bootp dgram udp wait root /usr/sbin/in.bootpgw in.bootpgw server
Diesen Betriebsmodus bezeichnet man als inetd-Modus. in.bootp und
in.bootpgw werden darin nur gestartet, wenn ein BOOTP-Auftrag Rechner
eintrifft. Wenn 15 Minuten nach dem Vorgängerpaket kein weiteres Paket
eingegangen ist, schaltet sich der Server automatisch ab, um Betriebs-
mittel zu sparen. Mit der Option -t kann die Zeitdauer eingestellt
werden (siehe die Beschreibung der Optionen unten).
Sie können in.bootp bzw. in.bootpgw auch unabhängig von dem inetd-
Dämon wie jedes andere Kommando von der Shell aus aufrufen. Die unab-
hängige Variante (Standalone-Modus) eignet sich besonders dann, wenn
in.bootp zusammen mit einer großen Konfigurationsdatenbank benutzt
wird, da hier die zum Starten benötigte Zeit die rechtzeitige Beant-
wortung von Anforderungen der Client-Rechner verhindern könnte. (Sie
können den unabhängigen Betrieb z. B. automatisch starten, indem Sie
das Kommando in.bootp in die Datei /etc/rc2d/s69inet aufnehmen.) Für
das Kommando in.bootpgw ist der unabhängige Betrieb nicht sinnvoll.
Die beim Starten verursachte Verzögerung ist hier gering, da keine
Konfigurationsdatei gelesen wird.
Beide Programme erkennen automatisch, ob sie vom inetd-Dämon oder von
der Shell aus aufgerufen wurden und wählen den entsprechenden Modus.
Mit der Option -s oder -i können Sie den Standalone- bzw. inetd-Modus
erzwingen (siehe die Beschreibung der Optionen unten).
Seite 1 Reliant UNIX 5.44 Gedruckt 11/98
bootp(8) bootp(8)
OPTIONEN
-t timeout
Anzahl der Minuten, die ein in.bootp- oder in.bootpgw-Prozeß auf
ein BOOTP-Paket wartet, bevor er sich ausschaltet. Wenn für
timeout Minuten keine Pakete eintreffen, beendet sich das Pro-
gramm. Wird für timeout der Wert 0 angegeben, läuft das Programm
endlos. Im unabhängigen (standalone) Betrieb, wird diese Option
automatisch auf 0 gesetzt.
-d debug-level
Variable, die die Anzahl der erzeugten Debug-Meldungen steuert.
-d4 oder -d 4 ergibt eine Debug-Stufe von 4. Um mit älteren Ver-
sionen von in.bootp kompatibel zu sein, wird beim Weglassen des
numerischen Parameters (d. h. nur -d) die Debug-Stufe um eins
erhöht.
-c chdir-path
Arbeitsverzeichnis, in dem in.bootp überprüft, ob die Boot-
Dateien des Client-Rechners vorhanden sind und welche Größe sie
haben. Diese Angabe ist sinnvoll, wenn die Boot-Dateien als rela-
tive Pfadnamen angegeben wurden und in.bootp dasselbe Arbeitsver-
zeichnis benutzen muß wie der TFTP-Server (im allgemeinen
/tftpboot). Diese Option ist unter in.bootpgw nicht bekannt.
-i Erzwungener inetd-Modus. Diese Option ist nicht mehr gültig, wird
aber aus Gründen der Kompatibilität mit älteren Versionen von
in.bootp beibehalten.
-s Erzwungene unabhängige (standalone) Betriebsart. Diese Option ist
nicht mehr gültig, wird aber aus Gründen der Kompatibilität mit
älteren Versionen von in.bootp beibehalten.
bootptab
Name der Konfigurationsdatei, aus der in.bootp die Datenbank mit
den bekannten Client-Rechnern und -Optionen lädt (gilt nur für
in.bootp).
dumpfile
Name der Datei, in der in.bootp einen Abzug seiner aktuellen
Datenbasis erzeugt, sobald ein SIGUSR1-Signal eingeht (gilt nur
für in.bootp).
server
Name des BOOTP-Servers, an den in.bootpgw alle eingegangenen
BOOTREQUEST-Pakete schickt (gilt nur für in.bootpgw).
Seite 2 Reliant UNIX 5.44 Gedruckt 11/98
bootp(8) bootp(8)
EINSATZ
in.bootp und in.bootpgw warten gleichermaßen auf Pakete, die an den
Port bootp gehen. Sie schicken beide BOOTREPLY-Pakete, unterscheiden
sich aber in der Handhabung von BOOTREQUEST-Paketen.
in.bootpgw ermittelt beim Start selbst die Adresse eines BOOTP-
Servers, dessen Name als Parameter in der Kommnadozeile eingegeben
wird. Wenn in.bootpgw ein BOOTREQUEST-Paket erhält, setzt es die Fel-
der gateway address und hop count in dem Paket und schickt es an den
BOOTP-Server, der die zuvor ermittelte Adresse hat. Anforderungen wer-
den nur geschickt, wenn sich herausstellt, daß der Client-Rechner
wenigstens 3 Sekunden gewartet hat.
in.bootp liest beim Starten die Konfigurationsdatei (normalerweise
/etc/inet/bootptab), die die interne Datenbank bekannter Client-
Rechner und -Optionen initialisiert. Diese interne Datenbank wird aus
der Konfigurationsdatei nachgeladen, wenn in.bootp ein SIGHUP-Signal
erhält oder sich herausstellt, daß die Konfigurationsdatei geändert
worden ist.
Wenn in.bootp ein BOOTREQUEST-Paket erhält, versucht es einen Daten-
bankeintrag zu finden, der den Anforderungen des Client-Rechners ent-
spricht. Ist der Client-Rechner bekannt, stellt in.bootp aus dem
Datenbankeintrag ein BOOTREPLY-Paket her und schickt die Anwort an den
Client-Rechner (evtl. mit Hilfe eines Gateways). Ist der Client-
Rechner unbekannt, wird die Anforderung abgelehnt (mit einer Nach-
richt, wenn die Debug-Stufe > 0 ist).
Wenn in.bootp das Signal SIGUSR1 erhält, erzeugt es einen Abzug der
internen Datenbank in der Datei /etc/inet/bootpd.dump oder in der
Dump-Datei, die in der Kommandozeile angegeben wurde.
Während der Initialisierungsphase ermitteln beide Programme die UDP-
Portnummern, die benutzt werden sollen, mit Hilfe von
getservbyname(3N) (normalerweise in /etc/services). Es gibt zwei
Service-Namen (und Portnummern):
bootp - Warte-Port des BOOTP-Server
bootpc - Ziel-Port des BOOTP-Client-Rechners
Wenn die Portnummern nicht mit Hilfe von getservbyname ermittelt wer-
den können, ist der Standardwert für bootp=67 und für bootpc=68.
Seite 3 Reliant UNIX 5.44 Gedruckt 11/98
bootp(8) bootp(8)
HINWEISE
Ein Rechnereintrag darf jeweils 2048 Zeichen nicht überschreiten.
DATEIEN
/etc/inet/bootptab Datenbankdatei, die in.bootp liest
/etc/inet/bootpd.dump Von in.bootp erstellte Dump-Datei für
Debugging
/etc/services Internet-Service-Nummer
/tftpboot Arbeitsverzeichnis des TFTP-Servers und
von in.bootp
SIEHE AUCH
inetd(1M), tftpd(1M), bootptab(5).
LITERATUR
DARPA Internet Request For Comments:
RFC951 - Bootstrap Protocol
RFC1532 - Clarifications and Extensions for the Bootstrap Protocol
RFC1533 - DHCP Options and BOOTP Vendor Extensions
Seite 4 Reliant UNIX 5.44 Gedruckt 11/98