Discussion:
Wie tftpd starten?
(zu alt für eine Antwort)
Michael Hofmann
2005-02-07 08:24:31 UTC
Permalink
Hallo,

auch nach längerer Suche habe ich keine ausreichende Info gefunden wie man
tftpd in Debian testing per inetd startet bzw. diagnostiziert.
Ich habe inzwischen in der /etc/inetd.conf folgenden Eintrag:
tftp stream udp wait root /usr/sbin/tcpd /usr/sbin/in.tftpd

Diesen habe ich mir mit dem "ftp"-Eintrag als Vorlage und den dürftigen
Informationen aus inetd(8) zurechtgebogen. Allerdings scheint der Dienst
(nach kill -HUP <pid>) nicht zu laufen, jedenfalls findet mein diskless
client seinen Kernel nicht.
Wenn ich nun tftp laut manpage per "in.tftpd -l" starte funktioniert das,
also ist wohl der Rest meines Setups in Ordnung.
Wie geht das nun richtig, oder besser noch, wo findet man Information
drüber? In /usr/share[doc] fand ich jedenfalls nichts, auch im Web nichts
passendes.
Oder hat man das "heutzutage" nicht mehr per inetd, sondern per Startscript
im runlevel?

TIA,
Michael
Juergen P. Meier
2005-02-07 08:59:06 UTC
Permalink
Post by Michael Hofmann
auch nach längerer Suche habe ich keine ausreichende Info gefunden wie man
tftpd in Debian testing per inetd startet bzw. diagnostiziert.
tftp stream udp wait root /usr/sbin/tcpd /usr/sbin/in.tftpd
^^^^^^

Falsch. Da muss dgram stehen. Und UID sollte auch *nicht* root sein.

Beispielshaft aus meiner xinetd.conf:
service tftp
{
socket_type = dgram
bind = 172.17.100.4
instances = 2
protocol = udp
wait = yes
user = tftp
group = tftp
only_from = router1
flags = NAMEINARGS
server = /usr/sbin/in.tftpd
}

Das entspricht in etwa:
tftp dgram udp wait tftp /usr/sbin/tcpd /usr/sbin/in.tftpd

Mit einem Eintrag
in.tftp: router1
in der hosts.allow
Post by Michael Hofmann
Informationen aus inetd(8) zurechtgebogen. Allerdings scheint der Dienst
(nach kill -HUP <pid>) nicht zu laufen, jedenfalls findet mein diskless
client seinen Kernel nicht.
Was sagt lsof -i udp:69
Post by Michael Hofmann
Oder hat man das "heutzutage" nicht mehr per inetd, sondern per Startscript
im runlevel?
Nein. Aber nur dann, wenn man ihn braucht.

Juergen
--
Juergen P. Meier - "This World is about to be Destroyed!"
Michael Hofmann
2005-02-08 18:04:23 UTC
Permalink
Post by Juergen P. Meier
[ tftpd per inetd starten ]
tftp dgram udp wait tftp /usr/sbin/tcpd /usr/sbin/in.tftpd
Danke für den Hinweis, ich habe inzwischen auch entsprechendes in der
etherboot-doku gefunden. Leider funktioniert das trotz allem nicht, warum
auch immer.
Post by Juergen P. Meier
Oder hat man das "heutzutage" nicht mehr per inetd, sondern per
Startscript im runlevel?
Scheint aber doch daß Debian darauf setzt, jedenfalls findet sich ein script
in /etc/init.d. Zwar war das vorhandene sowie auch das aus dem letzten
Upgrade dysfunktional, ließ sich aber leicht gradebiegen. Jetzt läuft
tftpd-hpa ab init-script. Na denn.

Danke,
Michael
Juergen P. Meier
2005-02-09 05:03:28 UTC
Permalink
Post by Michael Hofmann
Scheint aber doch daß Debian darauf setzt, jedenfalls findet sich ein script
in /etc/init.d. Zwar war das vorhandene sowie auch das aus dem letzten
Upgrade dysfunktional, ließ sich aber leicht gradebiegen. Jetzt läuft
tftpd-hpa ab init-script. Na denn.
Welchen inetd dein debian tatsaechlich verwendet, solltest du mittels
ps axf | grep [i]netd
herausfinden koennen.

Auch wenn nur xinetd vorhanden ist hast du aus kompatibiliaetsgruenden
mit install-scripten (anderer Pakete) immer eine /etc/inetd.conf Datei.

Hintergrund bei Debian ist: wenn ein Drittprogramm fuer sich einen
Eintrag nur darin macht, kann man mit itox oder xconv.pl diese Aenderung
in xinetd.conf Format bringen - haendisch, siehe auch:
/usr/share/doc/xinetd/README.update-inetd

HTH,
Juergen
--
Juergen P. Meier - "This World is about to be Destroyed!"
end
If you think technology can solve your problems you don't understand
technology and you don't understand your problems. (Bruce Schneier)
Marcus Jodorf
2005-02-09 13:58:19 UTC
Permalink
Post by Michael Hofmann
Post by Michael Hofmann
Oder hat man das "heutzutage" nicht mehr per inetd, sondern per
Startscript im runlevel?
Scheint aber doch daß Debian darauf setzt, jedenfalls findet sich ein
script in /etc/init.d. Zwar war das vorhandene sowie auch das aus dem
letzten Upgrade dysfunktional, ließ sich aber leicht
gradebiegen. Jetzt läuft tftpd-hpa ab init-script. Na denn.
Ich nehm einfach den ganz normalen tftpd von Debian. Da gibt es keine
Skripte, sondern der startet ganz normal über inetd - und tut
einwandfrei. Nur den tcpwrapper darf man gegebenenfallsnicht vergessen
freizuschalten. Sonst ist da nichts zu beachten und das tut streng nach
Lehrbuch.
Auch meine fast 15 Jahre alte NeXTStation hat jedenfalls
keinerlei Probleme damit, darüber zu booten.
Falls Du also keine zwingenden Gründe für die hpa Version hast...


Gruß,

Marcus
Michael Hofmann
2005-02-12 10:54:52 UTC
Permalink
Post by Marcus Jodorf
[ tftpd-hpa ]
Ich nehm einfach den ganz normalen tftpd von Debian. Da gibt es keine
Skripte, sondern der startet ganz normal über inetd - und tut
einwandfrei. Nur den tcpwrapper darf man gegebenenfallsnicht vergessen
freizuschalten. Sonst ist da nichts zu beachten und das tut streng nach
Lehrbuch.
Wozu braucht man da den tcpwrapper? (Mußte mich grade erst mal schlau machen
was das ist, das kannte ich bisher nicht)
Post by Marcus Jodorf
Falls Du also keine zwingenden Gründe für die hpa Version hast...
Habe ich nicht, der -hpa war halt hier vorhanden, der "normale" ist es
jedoch nicht.
Wie gesagt, der tftpd-hpa läuft jetzt ab init-script. Ich kämpfe momentan
mit dem root-filesystem, anscheinend hat sich mit Etherboot doch einiges
geändert seit meinen letzten Versuchen vor 3-4 Jahren. Die Doku von Ken Yap
ist immer noch, na sagen wir mal unübersichtlich :-)

Gruß,
Michael
Christian
2005-02-12 13:46:35 UTC
Permalink
Post by Michael Hofmann
Wozu braucht man da den tcpwrapper? (Mußte mich grade erst mal schlau machen
was das ist, das kannte ich bisher nicht)
$ ldd /usr/sbin/in.tftpd
libwrap.so.0 => /lib/libwrap.so.0 (0xb7fd9000)
-----^

weil der tftp server meist gegen den tcpwrapper gelinkt ist, muss man
selbigen bei der konfiguration entsprechend berücksichtigen. "man tcpd"
hilft weiter.
Post by Michael Hofmann
Wie gesagt, der tftpd-hpa läuft jetzt ab init-script. Ich kämpfe momentan
mit dem root-filesystem, anscheinend hat sich mit Etherboot doch einiges
der hpa tftpd kennt die option "-s" - da muss man genau aufpassen ob man
die option verwendet, und wenn, welche parameter danach an etherboot,
PXE... übergeben werden.
--
BOFH excuse #240:

Too many little pins on CPU confusing it, bend back and forth until 10-20%
are neatly removed. Do _not_ leave metal bits visible!
Marc Haber
2005-02-09 19:20:49 UTC
Permalink
Post by Michael Hofmann
Wenn ich nun tftp laut manpage per "in.tftpd -l" starte funktioniert das,
also ist wohl der Rest meines Setups in Ordnung.
Wie geht das nun richtig, oder besser noch, wo findet man Information
drüber?
Was sagt denn Dein Log? Wenn es etwas von "in.tftp rejected access"
faselt, hast Du einen Eintrag in der /etc/hosts.allow vergessen.

Grüße
Marc
--
-------------------------------------- !! No courtesy copies, please !! -----
Marc Haber | " Questions are the | Mailadresse im Header
Mannheim, Germany | Beginning of Wisdom " | http://www.zugschlus.de/
Nordisch by Nature | Lt. Worf, TNG "Rightful Heir" | Fon: *49 621 72739834
Loading...