Printable Version of Topic

Click here to view this topic in its original format

Siala Forums _ Оффтопик _ FileZilla Server + Asus WL520-GU + passive = проблема

Posted by: Adonal 21:46, 25 September 2010

Диспозиция:
========

(провайдер)<->(роутер)<->(ПК с запущенным сервером FileZilla)

FileZilla Server version 0.9.36 beta
Роутер Asus WL520-GU (BusyBox v1.1.3 Linux version 2.4.20)
PC Windows 7 Enterprise (Version 6.1 сборка 7600)


Как оно работает:
============

На Wan-интерфейсе роутера настороено PPTP-соединение, когда роутер его поднимает, Wan получает внешний IP (IP всегда один и тот же, хоть и не статика).
На Lan-интерфейсе поднята сеть вида 192.168.100.0/24 (соответсвенно на карточке у ПК прописан IP 192.168.100.100, роутер имеет IP 192.168.100.1)
Соответсвенно ПК сидит за NATом

Как оно НЕ работает:
==============

Конфиг FilleZill'ы:
Connection settings - Сервак слушает порт 50021
Passive mode settings - use IP (указан внешний(белый) IP роутера)
Use custom port range - 50050 - 50100

Роутер:
форвардинг портов - с внешних портов 20 и 21 перенаправляй на 192.168.100.100 на порт 50021


Что получается:
===========

Лог с со стороны клиента (ftptest.net)

Status: Resolving address of "мой_внешний_IP"
Status: Connecting to "мой_внешний_IP"
Status: Connected, waiting for welcome message
Reply: 220-+++ free4shoot ftp +++ <<< ---- ТО ЕСТЬ ЧЕРЕЗ РОУТЕР МЫ ПРОБИЛИСЬ! Сервак нас поприветсвовал
Reply: 220 FileZilla Server version 0.9.36 beta <<< и представился
Command: CLNT http://ftptest.net on behalf of "мой_внешний_IP"
Reply: 200 Don't care
Command: USER anonymous
Reply: 331 Password required for anonymous
Command: PASS anonymous@"мой_внешний_IP"
Reply: 230 Logged on <<< мы залогинились
Command: SYST
Reply: 215 UNIX emulated by FileZilla
Command: FEAT
Reply: 211-Features:
Reply: MDTM
Reply: REST STREAM
Reply: SIZE
Reply: MLST type*;size*;modify*;
Reply: MLSD
Reply: UTF8
Reply: CLNT
Reply: MFMT
Reply: 211 End
Command: PWD
Reply: 257 "/" is current directory.
Status: Current path is /
Command: TYPE I
Reply: 200 Type set to I
Command: PASV <<< идет предложение работать в режиме passive
Reply: 227 Entering Passive Mode ("мой_внешний_IP",195,161) <<< сервак выдает клиенту IP и порт (50081)
Command: MLSD <<< А НУКА ПОКАЖИ ЧТО У ТЕБЯ ТАМ ЕСТЬ!?
Reply: 425 Can't open data connection. <<< А вот .уй вам!
Disconnected. <<< Ну тогда пока...

То есть что получается, управляющий (котрольный) канал создается. Далее идет предложение работать в режиме passive, сервак соглашается и отсылает клиенту IP(вшешний) + Port(из диапозона 50050 - 50100) , на которые нужно постучаться, чтобы поднять канал передачи данных. Клиент долбится и получает от ворот поворот!

Если клиенту сказать принудительно использовать режим active (то есть теперь ПК отсылает серваку свой IP + порт и сервак на них долбится) то все прекрасно работает.


Что было предпринято:
================

На роутере ставил так же форвардинг портов - с внешних портов 50050 - 50100 перенаправляй на 192.168.100.100 на порт 50021

Как можно догалаться, не помогло, но лог немного поменялся:

....
Command: PASV
Reply: 227 Entering Passive Mode ("мой_внешний_IP",195,161)
Command: MLSD
Listing: 220-+++ free4shoot ftp +++ <<< то есть, эта дура, вместо того чтобы поднять канал передачи данных, поднимает еще одно соединение
Listing: 220 FileZilla Server version 0.9.36 beta
Reply: 425 Can't open data connection. <<< и подыхает
Error: Listing failed

Фаервал на роутере отключен, как и в винде. Порты извне доступны.
===============================================

У кого какие идеи есть?
---------------------------




Поставил Варешарк, заметил странность.


Reply: 227 Entering Passive Mode ("мой_внешний_IP",195,161) <<< То есть, по идее клиент теперь должен долбится на порт 50081
Command: MLSD <<< то есть, вот сейчас с от клиента ftptest.net(IP 62.75.138.232) должен прийти пакет на "внешний IP" на порт 50081
роутер должен форварднуть пакет на IP 192.168.100.100 на порт 50021

Варешарк должен поймать пакет в котором соурс ИП - 62.75.138.232, дест ИП 192.168.100.100, соурс порт 50081, дест порт 50021
Так вот нифига нет пакетов в которых был бы указан порт 50081(как и любой другой из пула, выделенного для passive mode)
Или сорс порт будет не 50081 а тот, что был использован клиентом при отправке пакета изначально?

Posted by: -Lent- 00:03, 26 September 2010

Чисто теоретические предположения, по оставшимся знаниям, что вопрос в настройках файлзилы, но что конкретно к сожалению не подскажу (сужу по поведению соединения)
С ФТП к сожалению делов особливо много не имел

Posted by: Milmar Kel 17:56, 26 September 2010

Возможно стоит воспользоваться не простым PortForwarding, а опцией VirtualServer(или как-то так она называется, там еще кучка пресетов), т.к. FTP не работает через нат без помощи хелпера nf_nat_ftp, следовательно роутер его и не подгружает. Есть вероятность, что при использовании функции VirtualServer(или как она там называется), все будет ок.

Powered by Invision Power Board (https://www.invisionboard.com)
© Invision Power Services (https://www.invisionpower.com)

IPS Driver Error

IPS Driver Error

There appears to be an error with the database.
You can try to refresh the page by clicking here