kostmitin |
|
Темы:
10
Сообщения:
52
Участник с: 03 декабря 2008
|
Здравствуйте. Проблема в следующем. Мне надо было поднять tftp - сервер. Запускаю “start tftpd /tftpboot” - запускается. Перед этим сделал /tftpboot доступной (“chmod 777 /tftpboot”). Далее запускаю tftp - клиент для проверки сервера “tftp 127.0.0.1”. Пробую скачать файл из /tftpboot, но файл скачивается не хочет после долгого простоя он выдаёт “Transfer timed out”. В логах tftpd при запуске выдаёт "tftpd: recvfrom: Socket operation on non-socket". Пробовал atftp - ситуация полностью повторилась. |
cucullus |
|
Темы:
266
Сообщения:
3541
Участник с: 06 июня 2007
|
host.allow настроен?
такие дела.
|
rubicon |
|
Темы:
2
Сообщения:
208
Участник с: 17 октября 2008
|
cucullusFix'd |
exire |
|
Темы:
5
Сообщения:
181
Участник с: 25 ноября 2006
|
Дык, их скорее всего через xinetd запускать надо. |
kostmitin |
|
Темы:
10
Сообщения:
52
Участник с: 03 декабря 2008
|
То cuculluscucullusДа. В /etc файл hosts.allow : # # /etc/hosts.allow # in.tftpd:ALL # End of file То eXire : eXire xinetd прослеживает сетевые запросы, и при допустимом запросе запускает фоновый процесс для обслуживания запроса. В моём случае можно обойтись и прямым запуском : “tftpd start” |
amigo |
|
Темы:
35
Сообщения:
2126
Участник с: 05 февраля 2007
|
debug? verbose? logs? man tftpd?
Разберемся, голубчик!
|
kostmitin |
|
Темы:
10
Сообщения:
52
Участник с: 03 декабря 2008
|
1. В man-ах tftpd говорят запускать следующим образомTFTPD(8) iputils- TFTPD(8) NAME tftpd - Trivial File Transfer Protocol server SYNOPSIS tftpd {directory} DESCRIPTION tftpd is a server which supports the DARPA Trivial File Transfer 2. “grep tftpd *” в /var/log/ выдает следующее : daemon.log:Apr 1 18:33:00 myhost tftpd[3000]: recvfrom: Socket operation on non-socket errors.log:Apr 1 18:33:00 myhost tftpd[3000]: recvfrom: Socket operation on non-socket everything.log:Apr 1 18:33:00 myhost tftpd[3000]: recvfrom: Socket operation on non-socket 3. “strace tftpd /tftpboot” выдаёт : execve("/usr/sbin/tftpd", ["tftpd", "/tftpboot"], [/* 43 vars */]) = 0 brk(0) = 0xf9c000 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f9660834000 access("/etc/ld.so.preload", R_OK) = -1 ENOENT (No such file or directory) open("/etc/ld.so.cache", O_RDONLY) = 3 fstat(3, {st_mode=S_IFREG|0644, st_size=76588, ...}) = 0 mmap(NULL, 76588, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7f9660821000 close(3) = 0 open("/lib/libresolv.so.2", O_RDONLY) = 3 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\2408\0\0\0\0\0\0@"..., 832) = 832 fstat(3, {st_mode=S_IFREG|0755, st_size=98095, ...}) = 0 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f9660820000 mmap(NULL, 2189960, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f9660402000 mprotect(0x7f9660415000, 2097152, PROT_NONE) = 0 mmap(0x7f9660615000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x13000) = 0x7f9660615000 mmap(0x7f9660617000, 6792, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7f9660617000 close(3) = 0 open("/lib/libc.so.6", O_RDONLY) = 3 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0`\346\1\0\0\0\0\0@"..., 832) = 832 fstat(3, {st_mode=S_IFREG|0755, st_size=1634803, ...}) = 0 mmap(NULL, 3486328, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f96600ae000 mprotect(0x7f96601f8000, 2097152, PROT_NONE) = 0 mmap(0x7f96603f8000, 20480, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x14a000) = 0x7f96603f8000 mmap(0x7f96603fd000, 17016, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7f96603fd000 close(3) = 0 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f966081f000 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f966081e000 arch_prctl(ARCH_SET_FS, 0x7f966081e6f0) = 0 mprotect(0x7f96603f8000, 16384, PROT_READ) = 0 mprotect(0x7f9660615000, 4096, PROT_READ) = 0 mprotect(0x7f9660835000, 4096, PROT_READ) = 0 munmap(0x7f9660821000, 76588) = 0 geteuid() = 0 setgid(65534) = 0 setuid(65534) = 0 ioctl(0, FIONBIO, [1]) = 0 recvfrom(0, 0x603840, 516, 0, 0x6037f0, 0x603824) = -1 ENOTSOCK (Socket operation on non-socket) brk(0) = 0xf9c000 brk(0xfbd000) = 0xfbd000 gettimeofday({1238635980, 733392}, NULL) = 0 open("/etc/localtime", O_RDONLY) = 3 fstat(3, {st_mode=S_IFREG|0644, st_size=2875, ...}) = 0 fstat(3, {st_mode=S_IFREG|0644, st_size=2875, ...}) = 0 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f9660833000 read(3, "TZif2\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\4\0\0\0\4\0\0\0\0\0"..., 4096) = 2875 lseek(3, -1838, SEEK_CUR) = 1037 read(3, "TZif2\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\5\0\0\0\5\0\0\0\0\0"..., 4096) = 1838 close(3) = 0 munmap(0x7f9660833000, 4096) = 0 getpid() = 3000 socket(PF_FILE, 0x80002 /* SOCK_??? */, 0) = 3 connect(3, {sa_family=AF_FILE, path="/dev/log"...}, 110) = -1 EPROTOTYPE (Protocol wrong type for socket) close(3) = 0 socket(PF_FILE, 0x80001 /* SOCK_??? */, 0) = 3 connect(3, {sa_family=AF_FILE, path="/dev/log"...}, 110) = 0 sendto(3, "<27>Apr 1 18:33:00 tftpd[3000]: "..., 75, MSG_NOSIGNAL, NULL, 0) = 75 exit_group(1) = ? |
kaaposc |
|
Темы:
0
Сообщения:
7
Участник с: 23 марта 2009
|
kostmitinПоставте там еще и строчку tftpd: ALL |
exire |
|
Темы:
5
Сообщения:
181
Участник с: 25 ноября 2006
|
recvfrom(0, 0x603840, 516, 0, 0x6037f0, 0x603824) = -1 ENOTSOCK (Socket operation on non-socket) Проблема в этом. tftpd пытается работать с stdin каналом как с сокетом. Поэтому, еще раз говорю, попробуй запускать через xinetd. Он именно этим и занимается: предоставляет stdin/stdout канал как сокеты. |
kostmitin |
|
Темы:
10
Сообщения:
52
Участник с: 03 декабря 2008
|
Прошу прощения за долгий перерыв. Проблема была решена следующим образом. Так как мне нужно было запускать tftp сервер самому, без xinetd, то я собрал atftp сервер и запускал его с параметром –daemon. Благодаря этому параметру всё стало работать корректно. Спасибо, всем кто помогал. |