Originally Posted by
tempik
Какой роутер, версия прошивки, логи и т.д. ... Как определили что на 21 порту ничего не запущено (и как вообще можно что-то запустить на порту???) Да и вообще к роутеру по USB хоть один накопитель подключен????
Asus RT-N16, прошивка от энтузиастов, r3121
Определил просто: netstat -ln Конечно подключен
Code:
[relgames@asus root]$ mount
rootfs on / type rootfs (rw)
/dev/root on / type squashfs (ro)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
devfs on /dev type tmpfs (rw,noatime)
devpts on /dev/pts type devpts (rw)
tmpfs on /tmp type tmpfs (rw,noatime)
usbfs on /proc/bus/usb type usbfs (rw)
/dev/sda1 on /tmp/harddisk type xfs (rw,noatime)
/dev/sda1 on /opt type xfs (rw,noatime)
/dev/sda1 on /tmp/rgwd type xfs (rw,noatime)
Лог: http://pastebin.com/aLvfmsr6
Поставил vsftpd из пакетов, версия 2.3.4-1
Все сделал по инструкции - появляется ошибка 500 OOPS: duplicate hash key
Когда в веб-морде включаю FTP, то не создаются файлы vsftpd в /etc
Наверное, в прошивке оно выключено Но почему не стартует из пакета?
Вот что видно в strace
Code:
socket(PF_INET, SOCK_STREAM, IPPROTO_TCP) = 3
setsockopt(3, SOL_SOCKET, SO_REUSEADDR, [1], 4) = 0
rt_sigaction(SIGCHLD, {SIG_DFL, ~[RT_65 RT_66 RT_67 RT_68 RT_69 RT_70 RT_71 RT_72 RT_73 RT_74 RT_75 RT_76 RT_77 RT_78 RT_79 RT_80 RT_81 RT_82 RT_83 RT_84 RT_85 RT_86 RT_87 RT_88 RT_89 RT_90 RT_91 RT_92 RT_93 RT_94
rt_sigaction(SIGALRM, {SIG_DFL, ~[RT_65 RT_66 RT_67 RT_68 RT_69 RT_70 RT_71 RT_72 RT_73 RT_74 RT_75 RT_76 RT_77 RT_78 RT_79 RT_80 RT_81 RT_82 RT_83 RT_84 RT_85 RT_86 RT_87 RT_88 RT_89 RT_90 RT_91 RT_92 RT_93 RT_94
rt_sigaction(SIGHUP, {SIG_DFL, ~[RT_65 RT_66 RT_67 RT_68 RT_69 RT_70 RT_71 RT_72 RT_73 RT_74 RT_75 RT_76 RT_77 RT_78 RT_79 RT_80 RT_81 RT_82 RT_83 RT_84 RT_85 RT_86 RT_87 RT_88 RT_89 RT_90 RT_91 RT_92 RT_93 RT_94]
rt_sigaction(SIGALRM, {SIG_DFL, ~[RT_65 RT_66 RT_67 RT_68 RT_69 RT_70 RT_71 RT_72 RT_73 RT_74 RT_75 RT_76 RT_77 RT_78 RT_79 RT_80 RT_81 RT_82 RT_83 RT_84 RT_85 RT_86 RT_87 RT_88 RT_89 RT_90 RT_91 RT_92 RT_93 RT_94
bind(3, {sa_family=AF_INET, sin_port=htons(21), sin_addr=inet_addr("0.0.0.0")}, 16) = 0
listen(3, 32) = 0
accept(3, {sa_family=AF_INET, sin_port=htons(2920), sin_addr=inet_addr("x.x.x.x")}, [16]) = 4
clone(child_stack=0, flags=0x28000000|SIGCHLD) = -1 ENOMEM (Cannot allocate memory)
close(4) = 0
accept(3, {sa_family=AF_INET, sin_port=htons(57552), sin_addr=inet_addr("x.x.x.x")}, [16]) = 4
clone(child_stack=0, flags=0x28000000|SIGCHLD) = -1 ENOMEM (Cannot allocate memory)
close(4) = 0
fcntl64(0, F_GETFL) = 0x82 (flags O_RDWR|O_NONBLOCK)
fcntl64(0, F_SETFL, O_RDWR|O_NONBLOCK) = 0
write(0, "500 OOPS: ", 10) = 10
write(0, "duplicate hash key", 18) = 18
write(0, "\r\n", 2) = 2
exit(1) = ?
К сожалению, моих знаний недостаточно, чтобы понять, что пошло не так. Пытался смотреть в исходники, похоже, он падает на втором подключении, т.к.
первое подключение попадает в кэш, потом отваливается из-за Cannot allocate memory, но не до конца, второе натыкается на это первое и все умирает.