I have a really bizarre problem on Fedora Core 4 w/ TFTP
FC4 2.6.12-1.1398_FC4smp
TFTP Server 0.40-6
up2date reports all packages up-to-date
no entries in /etc/hosts.allow or /etc/hosts.deny
My /etc/xinetd.d/tftp file reads as follows:
#
service tftp
{
socket_type = dgram
protocol = udp
wait = yes
user = root
server = /usr/sbin/in.tftpd
server_args = -s /tftpboot
disable = no
per_source = 11
cps = 100 2
flags = IPv4
}
ls -l shows for the tftpboot directory:
drwxr-xr-x 2 root root 4096 Aug 16 12:42 tftpboot
in the tftpboot directory, i have placed a file, pxelinux.0, which
shows:
-rwxr-xr-x 1 root root 12968 Aug 16 12:42 pxelinux.0
>From an MSDOS window, if I perform a
tftp my.ip.address.here get pxelinux.0
(or, from my linux box if I perform a
tftp my.ip.address.here -c get pxelinux.0)
I get an error message:
Error on server : Permission denied
In an attempt to figure out what was going on further, I disabled the
tftp server in xinetd.d/tftp (disable=yes, killall -HUP xinetd) and
then ran from the command line (as root)
/usr/sbin/in.tftpd -v -v -v -s /tftpboot
I figured this would run the server in the foreground and I would see
verbose error messages. This apparently isn't the case, because when I
attempt the 'tftp a.b.c.d get pxelinux.0' the command just times out,
and there is nothing in the /var/log/messages or /var/log/secure files
regarding a connection. The odd thing is, if I then go to the window
where I left the in.tftpd task running in the foreground, and type
GET
www.microsoft.com
and press ENTER, the program terminates, returns to the shell prompt,
and then the contents of the
www.microsoft.com web page appears (as
text) in the shell window.
That's really bizarre.
Now, if from the shell prompt I type:
/usr/sbin/in.tftpd -l -v -v -s /tftpboot
which runs the program in the background listening for connection
requests from what the documentation states, I can then SUCCESSFULLY
perform a 'tftp a.b.c.d get pxelinux.0"
So...
Anyone have any idea why in.tftpd would successfully work when I launch
it manually as root but NOT work when I launch it thru xinetd?
And why does it perform HTML GET requests to remote web sites when I
leave the -l off the command line?
Really weird.
Vin