I have installed TFTP service on 64bit OpenSuSE 11 and can not seem to get the service running. Under network services, tftp shows “enabled/on”, but the logs for tftp show this:
Nov 26 14:42:43 hostA xinetd[3812]: socket creation failed (Protocol not supported (errno = 93)). service = tftp
Nov 26 14:42:43 hostA xinetd[3812]: Service tftp failed to start and is deactivated.
Nov 26 14:43:59 hostA xinetd[4264]: Reading included configuration file: /etc/xinetd.d/tftp [file=/etc/xinetd.d/tftp] [line=17]
rpcinfo -u hostname tftp states that tftp is an unknown service. Any thoughts?
I think the port and disable lines are supposed to go inside the braces. That may be your problem. I don’t think you need either anyway. Here’s mine:
# default: off
# description: tftp service is provided primarily for booting or when a \
# router need an upgrade. Most sites run this only on machines acting as
# "boot servers".
service tftp
{
socket_type = dgram
protocol = udp
wait = yes
user = root
server = /usr/sbin/in.tftpd
server_args = -s /srv/tftpboot
}
It works without the disabled = no line on my machine. The reason, from a reading of man xinetd.conf, is that defaults in /etc/xinetd.conf do not specify any enabled services so all services are assumed to be enabled unless contradicted in their own file.
Still it doesn’t hurt to add that line to be sure and to be independent of the global defaults.
I believe the syntax error is because you put those two lines outside the braces.
Thanks for the reply’s. So I have tried it with those lines outside/inside of the braces and with the lines removed. The service still does not seem to be running (scanning my box does not show the ports as open).
Current xined.conf
# default: off
# description: tftp service is provided primarily for booting or when a \
# router need an upgrade. Most sites run this only on machines acting as
# "boot servers".
service tftp
{
socket_type = dgram
protocol = udp
wait = yes
user = root
server = /usr/sbin/in.tftpd
server_args = -s /tftpboot
disable = no
}
Log from tftp:
Dec 1 08:36:56 hostA xinetd[15016]: Reading included configuration file: /etc/xinetd.d/tftp [file=/etc/xinetd.d/tftp] [line=17]
Dec 1 08:38:58 hostA xinetd[15163]: Reading included configuration file: /etc/xinetd.d/tftp [file=/etc/xinetd.d/tftp] [line=17]
Dec 1 08:39:12 hostA xinetd[15282]: Reading included configuration file: /etc/xinetd.d/tftp [file=/etc/xinetd.d/tftp] [line=17]
Dec 1 08:39:37 hostA xinetd[15419]: Reading included configuration file: /etc/xinetd.d/tftp [file=/etc/xinetd.d/tftp] [line=17]
Dec 1 08:40:44 hostA xinetd[15551]: Reading included configuration file: /etc/xinetd.d/tftp [file=/etc/xinetd.d/tftp] [line=17]
Dec 1 08:41:04 hostA xinetd[15687]: Reading included configuration file: /etc/xinetd.d/tftp [file=/etc/xinetd.d/tftp] [line=17]
Maybe I am missing something but it only looks like there are 14 lines in the tftp conf.
I have the **disable **in all those files, maybe because I can then see per service if it is on/off and change it easily without bothering about a deafult (as you suggested).
Above you say that the boxed data is in /etc/xined.conf. Is that a typo? (Yes it must be). It should be the contents of **/etc/xinetd.d/tftp **(and that is where the error message talks bout).
You should not touch **/etc/xinetd.conf **.
The reason you should check if there is any process listening before “scanning” the box is because scanning, especially from an external host, is also influenced by any firewall. And the method of scanning, you have to use a UDP scan, not a TCP or connect scan. And if the scan fails, is that a firewall problem, a scan problem, or xinetd simply not listening? Too many variables at once.
Try to design your experiments so that you test one hypothesis at a time.
First check if xinetd is indeed listening.
Then check that on a connection it hands off the socket correctly to in.tftpd.