vsftpd за роутером
Есть проблема с которой пока никак не получается справиться, возможно кто-то сможет мне помоч.
Имеется комп (качалка/сервер) на OpenSuSE 10.2 находится он за ADSL модемом с роутером. Так же к модему подключен еще один комп и точка доступа. Итого выглядит так Код:
LINUX --->\ Теперь более подробно. vsftpd запущен как демон т.е. сам по себе, а не из под xinetd, благодаря чудесному провайдеру называемому по простому СТРИМ, 21 порт прикрыт. И сервер крутится на не стандартном порте 2133, в стенке линукса нужные порты открыты, 2133, 2020 порты прокинуты в роутере. конфиг сервера: Код:
listen=YES pasv_max_port=30016 Стоит не зря, если эти порты в роутере прокинуть на сервер, то становиться возможным заходить броузером, но на удивление не любым (ИЕ не коннектит, Опера нормуль, ФФ тоже) и не отовсюду, с работы допустим я могу зайти, а товарищь зайти не может. НО с другой стороны FAR у меня с работы так и не приконнектился, а CuteFTP вполне нормально и в пассиве и в активе. Собственно как нужно настроить сервер и какие порты прокинуть в роутере чтоб без проблем можно было зайти любым броузером и ftp-клиентом в активном режиме и в пассивном. Объяснил возможно несколько сумбурно, если нужно что-то уточнить то это с легкостью. Очень надеюсь на решение вопроса с вашей помощью :) |
посмотреть со стороны ftp сервера пакетики tcpdump-ом или другим подобным инструментом - что к чему и в соответствии с результатами действовать
|
hizel, а более подробно ?
|
Может быть из-за запрета выполнения команды "ls -R" на сервере, если клиент использует её для получения листинга? Надо глянуть логи.
По умолчанию стоит "ls_recurse_enable=NO", можно попробовать поставить в YES и посмотреть что получится. Правда пишут: "ls_recurse_enable - When enabled, this setting will allow the use of "ls -R". This is a minor security risk, because a "ls -R" at the top level of a large site may consume a lot of resources. Default: NO" |
Цитата:
В общем надеюсь не поздно. Обычно в таких случая вешаем на интерфейс tcpdump например >tcpdump -i eth0 -np host clientftphostip и смотрим, что делается заодно держим в уме теорию работы ftp в пассивном и активном режиме. Смотрим например здесь. Если что то не летает хотя должно, смотрим в фаервол и логи ftp сервака. |
FTP vsftpd невиден снаружи
Господа у меня такая пролема - невиден FTP сервер снаружи. Исходные данные: сервер на CentOS 5.8 с поднятым vsftpd. по локальной сети коннект и пеедача файлов проходят. имеем kerio control как шлюз для выхода в инет. белый IP. на керио настраиваю проброс с входящего порта например 20721 на внутренний IP ftp сервера и на его порт. из дома выхожу в инет соответственно неимея белый IP. коннекчусь к внешнему адресу. пароль-логин проходит но прочитать список каталогов на сервере немогу. totalcommander пишет : команда PORT невыполнена а filezilla пишет: "Сервер отправил пассивный ответ с неопределяемым адресом. Использую существующий адрес сервера."
вот полный лог filezilla: Соединяюсь с 77.*.*.*:20721... Статус: Соединение установлено, ожидание приглашения... Ответ: 220 Wellcome FTP Команда: USER user Ответ: 331 Please specify the password. Команда: PASS ********* Ответ: 230 Login successful. Команда: SYST Ответ: 215 UNIX Type: L8 Команда: FEAT Ответ: 211-Features: Ответ: EPSV Ответ: MDTM Ответ: PASV Ответ: REST STREAM Ответ: SIZE Ответ: TVFS Ответ: UTF8 Ответ: 211 End Команда: OPTS UTF8 ON Ответ: 200 Always in UTF8 mode. Статус: Соединение установлено Статус: Получение списка каталогов... Команда: PWD Ответ: 257 "/" Команда: TYPE I Ответ: 200 Switching to Binary mode. Команда: PASV Ответ: 227 Entering Passive Mode (192,168,0,7,137,80) Статус: Сервер отправил пассивный ответ с неопределяемым адресом. Использую существующий адрес сервера. Команда: LIST Ошибка: Превышено время ожидания соединения Ошибка: Не могу получить список каталогов! что нехватает? толи на kerio надо открыть толи сам vsftpd сервер недонастроен. непойму. P.P.S конфиг vsftpd anonymous_enable=NO local_enable=YES write_enable=YES local_umask=022 dirmessage_enable=YES xferlog_enable=YES connect_from_port_20=YES xferlog_std_format=YES listen=YES pam_service_name=vsftpd userlist_enable=YES tcp_wrappers=YES local_root=/home/FTPuser chroot_local_user=YES ftpd_banner=Wellcome FTP listen_port=10721 |
1. попробовать с прямым пробросом порта, а не 20721 -> 10721 (а еще лучше с стандартным портом (21))
2. в Тотале попробовать отключить/включить пассивный режим. |
pasv_address укажите
|
Посмотрел мануал.
Для того, чтобы сервер из-под NAT отдавал правильный (внешний) адрес для пассива - в конфиге требуется указать pasv_address. Кроме того - нужно указать диапазон портов для пассивного режима (pasv_min_port, pasv_max_port) и на файрволле пробросить и эти порты (а не только 21-й). И возможно (а если внешний адрес динамический - обязательно) в качестве pasv_address указать не IP, а DNS-имя, и включить pasv_addr_resolve (YES). |
Цитата:
указал в pasv_address свой внешний адрес. диапазон портов и прокинул их на шлюзе. Теперь работает. правда с обрывами но зато работает )) Спасибо за помощь.!! :beer: |
Часовой пояс GMT +4, время: 11:50. |
Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.