Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Программы » ftp-server на машине, на которой установлен WinRoute

Модерирует : gyra, Maz

 Версия для печати • ПодписатьсяДобавить в закладки

Открыть новую тему     Написать ответ в эту тему

jardokraka

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ЗАДАЧА:  
добиться возможности для ftp-сервера принимать соединения из интернет не только по PORT, но и по PASV.
 
РАСКЛАД:
 
машина с win2000 pro, на ней установлен WinRoute 4.2 pro.  
 
на машине 2 сетевые карты.  
 
NIC 1: первая карта имеет фиксированный ip 10.0.10.1 (submask 255.255.255.0) и подключена к adsl-модему (WinRoute дополнительно видит еще и RAS-интерфейс/virtual ethernet adapter, который получает при каждом новом соединении с интернет новый динамический ip от провайдера);
 
NIC 2: вторая карта имеет фиксированный ip 10.0.0.1 (submask 255.255.255.0) и подключена к сетевой карте ноутбука (win2000 pro) (fixed ip 10.0.0.2). (на машине с WinRoute DHCP отключен, ибо в сети только две машины, так что ноутбук всегда получает ip 10.0.0.2.)
 
от ноутбука требуется лишь иметь доступ в сеть и в интернет, пользуясь соединенем основной машины, с чем он без проблем справляется. потому забудем о нем - там все работает.
 
основная же машина, на которой и установлен WinRoute, - по совместительству и рабочая. понятно, что это не лучший расклад, но - какой есть.
 
на большой машине с WinRoute установлен ftp server BFTPServer 2.15, слушающий ip 10.0.10.1 (фиксированный адрес сетевой карты, поключенной к adsl-модему). для того, чтобы к серверу извне можно было подключиться по PORT, нужны порты 20 и 21.
 
замечательно. идем в настройки WinRoute, делаем port mapping:
 
listen port >>> 20 и 21
 
listen ip >>> [ unspecified ]
 
protocol >>> tcp
 
destination ip >>> 10.0.10.1 (ip, на котором сидит ftp-сервер)
 
destination port >>> 20 и 21
 
 
теперь запросы, поступающие на внешний ip на порты 20 и 21 будут перекидываться на порты 20 и 21 на внутреннем ip 10.0.10.1, на коем и сидит ftp-сервер.
 
проверям - все работает. люди могут и upload, и download.
 
однако для меня довольно-таки важно разрешить соединение с ftp-сервером в пассивном режиме / pasv mode.
 
ну, идем в настройки ftp-сервера. определяем passive port range - 29680-29683 - и говорим, что ip для PASV будет X.X.X.X (внешний ip, полученный от провайдера при соединении, - придется изменять эту настройку в сервере при каждом переподключении к интернету).
 
теперь снова идем в WinRoute, port mapping - и говорим, что -
 
listen port >>> 29680-29683  
 
listen ip >>> [ unspecified ]
 
protocol >>> tcp
 
destination ip >>> 10.0.10.1 (ip, на котором сидит ftp-сервер)
 
destination port >>> 29680-29683
 
 
теперь, когда клиент пытается открыть PASV извне, сервер скажет ему, что надо использовать ip X.X.X.X на портах от 29680 по 29683, а WinRoute переадресует эти запросы на эти же порты, но уже на ip 10.0.10.1, на котором работает ftp-server.
 
результат - не работает.
 
из security log'a WinRoute'a >>>
 
[19/Feb/2002 14:15:08] NAT: + proto:TCP, len:58, ip+port:129.177.90.54:38011 -> X.X.X.X:45007, flags: SYN ,
seq:11732426 ack:0, win:8192, tcplen:0  
[19/Feb/2002 14:16:48] NAT: Attempt to establish TCP connection through NAT (in). The following line contains suspicious
packet dump:  
[19/Feb/2002 14:16:48] NAT: + proto:TCP, len:58, ip+port:129.177.90.54:38358 -> X.X.X.X:45008, flags: SYN ,
seq:11732439 ack:0, win:8192, tcplen:0  
[19/Feb/2002 14:16:49] NAT: Attempt to establish TCP connection through NAT (in). The following line contains suspicious
packet dump:  
[19/Feb/2002 14:16:49] NAT: + proto:TCP, len:58, ip+port:129.177.90.54:38358 -> X.X.X.X:45008, flags: SYN ,
seq:11732439 ack:0, win:8192, tcplen:0  
 
т.е. клиент пытался открыть соединение с ftp-сервером по pasv, но порты ему выдавались не из коридора 29680-29683, как было сконфигурировано, а просто случайные выше 1440. passive mode ip - X.X.X.X - был сообщен корректно.
 
отключаем WinRoute - все нормально - выдаются порты 29680-29683.
 
все мозги сломал. не работает pasv, а надо.
 
поможете?
 

Всего записей: 55 | Зарегистр. 03-08-2001 | Отправлено: 02:07 21-02-2002
Zlobny_John



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
теперь снова идем в WinRoute, port mapping - и говорим, что -  
listen port >>> 29680-29683  
listen ip >>> [ unspecified ]  
protocol >>> tcp  
destination ip >>> 10.0.10.1 (ip, на котором сидит ftp-сервер)  
destination port >>> 29680-29683  

 
может надо так ? Соединение то в случае PASV исходящее ..  
listen port >>> 29680-29683  
listen ip >>> 10.0.10.1 (ip, на котором сидит ftp-сервер)  
protocol >>> tcp  
destination ip >>>[ unspecified ]  
destination port >>> 29680-29683 [/q]

Всего записей: 1279 | Зарегистр. 04-01-2002 | Отправлено: 18:43 21-02-2002
euserz



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
ACTIVE FTP:
FTP server's port 21 <-- from anywhere (Client initiates connection)  
FTP server's port 21 --> to ports 1024-65535 (Server responds to client's control port)  
FTP server's port 20 --> to ports 1024-65535 (Server initiates data connection to client's data port)  
FTP server's port 20 <-- from ports 1024-65535 (Client sends ACKs to server's data port)
 
PASSIVE FTP:
FTP server's port 21 <-- from anywhere (Client initiates connection)  
FTP server's port 21 --> to ports 1024-65535 (Server responds to client's control port)  
FTP server's ports 1024-65535 <-- from anywhere (Client initiates data connection to random port specified by server)  
FTP server's ports 1024-65535 --> to remote ports 1024-65535 (Server sends ACKs (and data) to client's data port)
 
А теперь конфигурируй себе на здоровье, хочешь - PASV, хочешь - стандартный
 
Добавлено
Да, как ты уже смел заметить, 29680-29683 порты тут не причем. Диапазон горрраздо шире: 1024-65535

----------
*Tout depend du personnel

Всего записей: 759 | Зарегистр. 08-10-2001 | Отправлено: 20:04 21-02-2002
jardokraka

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
Да, как ты уже смел заметить, 29680-29683 порты тут не причем. Диапазон горрраздо шире: 1024-65535

 
понятно, что диапазон шире, однако использовать его целиком совершенно не нужно. 3 открытых порта вполне достаточно для pasv на небольшом ftp-сервере - дело лишь за тем, чтобы сервер выдавал порты именно из этого диапазона. он и выдает, если WinRoute отключен.
 
из руководства BFTPServer'a >>>
 
----------------------------------------
When running the ftp server behind a router, the ftp server can only use local ip (10.0.xxx.yyy, 192.168.0.xxx ...).  
This causes problems when a client switches to passive mode (PASV) because the ftp server will reply with the internal lan ip; as a consequence the ftp client can not transfer data (no directory listing, no upload / downloads, only commands).  
 
To solve this problem :  
1) Go in server option / multi ip settings / passive ip and enter your internet ip (not local, but the one assigned by your isp, check http://www.gene6.com/g6ftpd/ip.php3 to know your ip.  
2) enter a passive port range 50000-50100 in passive port range option.  
3) in your router (hardware or software) create a port range redirection for 50000-50100 to the computer ip running the ftp server.  
----------------------------------------
 
(в данном случае предлагается открыть 100 портов в любом диапазоне выше 1024, но 3 - вполне достаточно - проверено миллион раз.)
 
что и было сделано. еще раз обращаю внимание, что при выключенном WinRoute ftp-сервер корректно распределяет порты для pasv - 29680-29683 - на что он и был настроен.
 
что-то не так с настройками в WinRoute.
 
ваши рекомендации сейчас испробую. о результатах доложу.
 
спасибо.

Всего записей: 55 | Зарегистр. 03-08-2001 | Отправлено: 22:25 21-02-2002
Открыть новую тему     Написать ответ в эту тему

Компьютерный форум Ru.Board » Компьютеры » Программы » ftp-server на машине, на которой установлен WinRoute


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru