Без xinet можно, наверное, но я не пробовал, у меня заработало и больше не экспериментил.
А вот ссылка
да да дело в том что опт он маунтит, а фтп не пукает =(
а можно без xinetd как-то?
и дай ссылку на мануал про xinetd
Без xinet можно, наверное, но я не пробовал, у меня заработало и больше не экспериментил.
А вот ссылка
У меня тоже есть роутер!
лана надоели мне эти танцы с бубном попытаюсь сделать через xinetd.
Тока тут попал я на 2 стремных бага =(
1й поменял я пасс(и благополучно забыл =() но не сохранил и не рестартил роутер(менял через веб), было это вчера, сеня торрент слился криво(дальше об энтом), короче по старому логину пассу по ссш захожу без вопросов а в веб немогу =(, как восстановить поменять?
/etc/passwd без именений, рут старый, пароль тож, где он хранит настройки для веба?
далее по торрену танцевали мы с oleo с бубном около transmission запустили, даже с веб интерфейсом правда все криво пашет но не суть, короче, слил он торрент, поставил его на сидирование(раздачу), ну мне он нужен щас, я делаю пуш, он встает в саспендет, но никак не в done +( короче на хараде должно быть 3 файла в torrent/target, а они во первых в work, во 2х самого тяжелого файла нету =( где? как? почему?
c xinetd еще веселей =(
ступидфтп убит, но кто тогда держит порт 21? и кто держит сокет?Code:[admin@Router root]$ xinetd -d 06/10/19@13:39:51: DEBUG: 228 {handle_includedir} Reading included configuration file: /opt/etc/xinetd.d/vsftp [file=/opt/etc/xinetd.conf] [line=15] Service defaults Instances = 60 CPS = max conn:25 wait:30 Bind = All addresses. Only from: localhost(HOST) 0.0.0.0/0.0.0.0(NET) No access: No blocked sites Logging to syslog. Facility = authpriv, level = info Log_on_success flags = HOST PID Log_on_failure flags = HOST Service configuration: ftp id = ftp flags = IPv4 socket_type = stream Protocol (name,number) = (tcp,6) port = 21 wait = no user = 0 Groups = no Nice = 10 PER_SOURCE = -1 Bind = All addresses. Server = /opt/sbin/vsftpd Server argv = vsftpd /opt/etc/vsftpd.conf Only from: 0.0.0.0/0.0.0.0(NET) No access: No blocked sites Logging to syslog. Facility = authpriv, level = info Log_on_success flags = HOST PID Log_on_failure flags = HOST 06/10/19@13:39:52: ERROR: 228 {activate_normal} bind failed (Address already in use (errno = 125)). service = ftp 06/10/19@13:39:52: ERROR: 228 {cnf_start_services} Service ftp failed to start and is deactivated. 06/10/19@13:39:52: DEBUG: 228 {cnf_start_services} mask_max = 0, services_started = 0 06/10/19@13:39:52: CRITICAL: 228 {init_services} no services. Exiting...
Блин тока что глянул, если убить xinetd и запустить фтп, пускаеться, значит косячит xinetd, что не так? =(
Last edited by GearST; 19-10-2006 at 11:53.
это если после ребута с криво запущенным xinetd запустить вручную vsftpdCode:vsftpd /opt/etc/vsftpd.conf & [admin@Router root]$ 500 OOPS: could not bind listening IPv4 socket [1] + Done(1) vsftpd /opt/etc/vsftpd.conf [admin@Router root]$ sh: turning off NDELAY mode
терь оно запустилось вроде с xinetd -d тока при заходе фтп сразу вылетает =(
Code:06/10/20@12:41:51: DEBUG: 268 {handle_includedir} Reading included configuration file: /opt/etc/xinetd.d/vsftp [file=/opt/etc/xinetd.conf] [line=15] Service defaults Instances = 60 CPS = max conn:25 wait:30 Bind = All addresses. Only from: localhost(HOST) 0.0.0.0/0.0.0.0(NET) No access: No blocked sites Logging to syslog. Facility = authpriv, level = info Log_on_success flags = HOST PID Log_on_failure flags = HOST Service configuration: ftp id = ftp flags = IPv4 socket_type = stream Protocol (name,number) = (tcp,6) port = 21 wait = no user = 0 Groups = no Nice = 10 PER_SOURCE = -1 Bind = All addresses. Server = /opt/sbin/vsftpd Server argv = vsftpd /opt/etc/vsftpd.conf Only from: 0.0.0.0/0.0.0.0(NET) No access: No blocked sites Logging to syslog. Facility = authpriv, level = info Log_on_success flags = HOST PID Log_on_failure flags = HOST 06/10/20@12:41:51: DEBUG: 268 {cnf_start_services} Started service: ftp 06/10/20@12:41:51: DEBUG: 268 {cnf_start_services} mask_max = 6, services_started = 1 06/10/20@12:41:51: NOTICE: 268 {main} xinetd Version 2.3.14 started with no options compiled in. 06/10/20@12:41:51: NOTICE: 268 {main} Started working: 1 available service 06/10/20@12:41:51: DEBUG: 268 {main_loop} active_services = 1 06/10/20@12:41:55: DEBUG: 268 {main_loop} select returned 1 06/10/20@12:41:55: DEBUG: 268 {server_start} Starting service ftp 06/10/20@12:41:55: DEBUG: 268 {main_loop} active_services = 1 06/10/20@12:41:55: DEBUG: 269 {exec_server} duping 7 06/10/20@12:41:55: DEBUG: 268 {main_loop} active_services = 1 06/10/20@12:41:55: DEBUG: 268 {main_loop} select returned 1 06/10/20@12:41:55: DEBUG: 268 {check_pipe} Got signal 18 (Continued) 06/10/20@12:41:55: DEBUG: 268 {child_exit} waitpid returned = 269 06/10/20@12:41:55: DEBUG: 268 {server_end} ftp server 269 exited 06/10/20@12:41:55: INFO: 268 {conn_free} freeing connection 06/10/20@12:41:55: DEBUG: 268 {child_exit} waitpid returned = -1 06/10/20@12:41:55: DEBUG: 268 {main_loop} active_services = 1
Last edited by Omega; 11-06-2011 at 08:29. Reason: fixed
Поставил я vsftpd согласно распространенной рекомендации работать через xinetd. И обнаружил что новое соединение создается с ftp секунд 10 если не больше. Причем все это время клиент ждет коннекта с 21 портом.
Решил запустить vsftpd standalone, опустив xinetd вовсе (все равно кроме vsftpd на нем ничего не висело) и прописав listen = yes в vsftpd.conf. И, о чудо, все залетало
Непонятно, с чего xinetd'у так тормозить, рутер только что после перезагрузки (специально для проверки скорости xinetd), соотв в top почти чисто, трафика нету и тп.
xinetd равно как и vsftpd ставил из http://ipkg.nslu2-linux.org/feeds/op...g/cross/stable.
Уважаемые гуру помогите пожалуйста с данной проблемой.
Очень нужен xinetd с поддержкой tcp_wrappers.
В документации написано, чтобы данная поддержка работала необходимо скомпилировать данный пакет с опцией --with-libwrap.
Скачал архив с исходниками положил на роутер.
./configure --with-libwrap
makePHP Code:
checking build system type... mipsel-pc-linux-gnu
checking host system type... mipsel-pc-linux-gnu
checking target system type... mipsel-pc-linux-gnu
checking for gcc... gcc
checking for C compiler default output file name... a.out
checking whether the C compiler works... yes
checking whether we are cross compiling... no
checking for suffix of executables...
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ANSI C... none needed
checking for a BSD-compatible install... /opt/bin/install -c
checking for ranlib... ranlib
checking for main in -lcompat... no
checking for library containing gethostbyname... none required
checking for library containing getnameinfo... none required
checking for library containing inet_ntop... none required
checking for getnameinfo... yes
checking for inet_ntop... yes
checking for difftime... yes
checking for fcvt... no
checking for fcvt in -lm... no
checking for ecvt... no
checking for ecvt in -lm... no
checking for gcvt... yes
checking for strerror... yes
checking for strcasecmp... yes
checking for socket... yes
checking for inet_aton... yes
checking for setenv... yes
checking for strsignal... yes
checking for sys_siglist in -lc... no
checking for gai_strerror... yes
checking for freeaddrinfo... yes
checking for getaddrinfo... yes
checking how to run the C preprocessor... gcc -E
checking for egrep... egrep
checking for ANSI C header files... no
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking for sys/types.h... (cached) yes
checking sys/termios.h usability... yes
checking sys/termios.h presence... yes
checking for sys/termios.h... yes
checking termios.h usability... yes
checking termios.h presence... yes
checking for termios.h... yes
checking sys/ioctl.h usability... yes
checking sys/ioctl.h presence... yes
checking for sys/ioctl.h... yes
checking sys/select.h usability... yes
checking sys/select.h presence... yes
checking for sys/select.h... yes
checking rpc/rpc.h usability... yes
checking rpc/rpc.h presence... yes
checking for rpc/rpc.h... yes
checking rpc/rpcent.h usability... no
checking rpc/rpcent.h presence... no
checking for rpc/rpcent.h... no
checking sys/file.h usability... yes
checking sys/file.h presence... yes
checking for sys/file.h... yes
checking ftw.h usability... yes
checking ftw.h presence... yes
checking for ftw.h... yes
checking machine/reg.h usability... no
checking machine/reg.h presence... no
checking for machine/reg.h... no
checking netdb.h usability... yes
checking netdb.h presence... yes
checking for netdb.h... yes
checking sys/resource.h usability... yes
checking sys/resource.h presence... yes
checking for sys/resource.h... yes
checking arpa/inet.h usability... yes
checking arpa/inet.h presence... yes
checking for arpa/inet.h... yes
checking grp.h usability... yes
checking grp.h presence... yes
checking for grp.h... yes
checking rpc/pmap_clnt.h usability... yes
checking rpc/pmap_clnt.h presence... yes
checking for rpc/pmap_clnt.h... yes
checking sys/socket.h usability... yes
checking sys/socket.h presence... yes
checking for sys/socket.h... yes
checking sys/signal.h usability... yes
checking sys/signal.h presence... yes
checking for sys/signal.h... yes
checking crypt.h usability... yes
checking crypt.h presence... yes
checking for crypt.h... yes
checking for stdint.h... (cached) yes
checking stdbool.h usability... yes
checking stdbool.h presence... yes
checking for stdbool.h... yes
checking sys/filio.h usability... no
checking sys/filio.h presence... no
checking for sys/filio.h... no
checking DNSServiceDiscovery/DNSServiceDiscovery.h usability... no
checking DNSServiceDiscovery/DNSServiceDiscovery.h presence... no
checking for DNSServiceDiscovery/DNSServiceDiscovery.h... no
checking for uint16_t... no
checking for uint32_t... no
checking for uint64_t... no
checking for uid_t... no
checking for gid_t... no
checking for socklen_t... no
checking for rlim_t... no
checking for struct addrinfo... no
checking for struct in6_addr... no
checking for struct sockaddr_in6... no
checking for struct sockaddr_storage... no
checking for main in -lcrypt... yes
checking whether to compile in loadavg... no
checking for crypt in -lc... yes
checking for log10 in -lm... yes
checking whether to default to ipv6... ignored
checking whether to use libwrap... yes
checking for request_init in -lwrap... yes
checking for yp_get_default_domain in -lnsl... no
checking for stdlib.h... (cached) yes
checking for unistd.h... (cached) yes
checking for getpagesize... yes
checking for working mmap... no
checking for isatty... yes
checking for memcpy... yes
checking for waitpid... yes
checking for sigvec... no
checking for setsid... yes
checking for strftime... yes
configure: creating ./config.status
config.status: creating Makefile
config.status: creating libs/src/misc/Makefile
config.status: creating libs/src/pset/Makefile
config.status: creating libs/src/sio/Makefile
config.status: creating libs/src/str/Makefile
config.status: creating libs/src/xlog/Makefile
config.status: creating libs/src/portable/Makefile
config.status: creating xinetd/Makefile
config.status: creating config.h
Вот такая ошибка. Такое ощущение, что не те библиотечки он подключает. Ради интереса в файле getnameinfo.o исправил #include sys/types.h на /opt/include/asm-mips - ошибка ушла, но далее продвинуться не смог так как не до конца понимаю по какому принципу какие хидер файлы используется компилятор (по крайне мере пробовал через --host явно указывать платформу - тоже не помогло).PHP Code:
cd libs/src/portable ; make CC='gcc' CFLAGS='-g -O2 -I../../include' install
make[1]: Entering directory `/opt/source/xinetd-2.3.14/libs/src/portable'
gcc -g -O2 -I../../include -c -o fake-getnameinfo.o fake-getnameinfo.c
In file included from fake-getnameinfo.c:13:
/opt/include/sys/types.h:66: error: two or more data types in declaration specifiers
/opt/include/sys/types.h:66: error: two or more data types in declaration specifiers
/opt/include/sys/types.h:81: error: two or more data types in declaration specifiers
/opt/include/sys/types.h:81: error: two or more data types in declaration specifiers
In file included from /opt/include/netinet/in.h:23,
from fake-getnameinfo.c:14:
/opt/include/stdint.h:52: error: duplicate 'unsigned'
/opt/include/stdint.h:52: error: duplicate 'short'
/opt/include/stdint.h:54: error: duplicate 'unsigned'
/opt/include/stdint.h:54: error: two or more data types in declaration specifiers
/opt/include/stdint.h:61: error: duplicate 'unsigned'
/opt/include/stdint.h:61: error: 'long long long' is too long for GCC
/opt/include/stdint.h:61: error: 'long long long' is too long for GCC
In file included from /opt/include/netinet/in.h:212,
from fake-getnameinfo.c:14:
/opt/include/bits/socket.h:36: error: two or more data types in declaration specifiers
/opt/include/bits/socket.h:36: error: two or more data types in declaration specifiers
In file included from fake-getnameinfo.c:23:
fake-getaddrinfo.h:30: error: redefinition of 'struct addrinfo'
make[1]: *** [fake-getnameinfo.o] Error 1
make[1]: Leaving directory `/opt/source/xinetd-2.3.14/libs/src/portable'
make: *** [libportable] Error 2
Очень прошу помощи ибо данный этап очень сильно и очень давно мешает достичь цели
P.S. Если у кого-нибудь уже есть бинарники xinetd с tcp-wrappers так же буду очень благодарен.
P.S.2
Из установленных пакетов стоит optware-devel со всеми зависимостями, а так же build-root и tcp_wrappers (в документации xinetd написано что для компиляции с tcp_wrappers библиотечка libwrap должна быть установлена).
error: two or more data types in declaration specifiers
error: duplicate ...
По моему опыту --- ошибки не смертельные (и типичные для нативной компиляции) --- скорее всего какой-то тип был объявлен (возможно в виде #define ...) еще в каком-то месте (скорее всего именно в исходнике приложения). Так что надо искать и править. Однако..., я тоже пытался скомпилить приложение с поддержкой tcp_wrappers в результате без успеха...
Я не знаю, почему _все_ приложения в optware/oleg скомпилены без поддержки этого сервиса. Возможно есть на то фундаментальные причины?
al37919 Спасибо!
Я поправил все ошибки (+ почитал доки по c/c++).
И УРА!!!
07/6/16@19:13:01: NOTICE: 7023 {main} xinetd Version 2.3.14 started with libwrap options compiled in.
Вот оно счастье то.
Пошёл тестить как работает hosts.allow.
И ещё вопросик, скажите пожалуйста что за файлик s10xinetd?
После компиляции я удалил пакет xinetd (ipkg remove) и сделал make install.
Соответственно файлик s10xinetd тоже пропал.
Очевидно скрипт для запуска демона.
Странно, что вы зная что такое tcp_wrappers не поняли по названию файла что это :-)
Поздравляю.
/opt/etc/init.d/S10xinetd --- скрипт, который запускает этот самый xinetd автоматически при загрузке роутера. Так что его неплохо бы обратно положить.
alexhemp
я только недавно стал более детально линкус изучать и только под целевую задачу, так что это нормально...
al37919
я так понял что можно просто в post-boot прописать запуск этого демона, и скрипт не нужен...
да, можно