The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

форумы  помощь  поиск  регистрация  майллист  ВХОД  слежка  RSS
"внутренний FTP через NAT наружу (freebsd+ipfw+nat+ftp)"
Вариант для распечатки  
Пред. тема | След. тема 
Форумы OpenNET: Виртуальная конференция (Public)
Изначальное сообщение [Проследить за развитием треда]

"внутренний FTP через NAT наружу (freebsd+ipfw+nat+ftp)"  
Сообщение от thedeath email(ok) on 05-Июн-06, 11:48 
Доброго времени суток.

Есть сервак внутри локалки с серым ip 192.168.1.252, на нем крутиться win2k3 iis FTP
Есть сервак "шлюз" в inet с серым ip 192.168.1.1, и белым ip 62.76.x.x, freebsd+ipfw+nat

Нужно прозрачно вытащить внутренний FTP (192.168.1.252) наружу (62.76.x.x) посредством NAT.

Делаю так:
Поднимаю на локальном сервере FTP. ftp://192.168.1.252:21

на шлюзе:
natd.conf ----------------------------------------------------------------------------
use_sockets yes
same_ports yes
redirect_port tcp 192.168.1.252:20-23 62.76.x.x:20-23
redirect_port udp 192.168.1.252:20-23 62.76.x.x:20-23
log
--------------------------------------------------------------------------------------

ipfw ---------------------------------------------------------------------------------
...
divert 8668 tcp from any to 62.76.x.x 20-23
divert 8668 tcp from 192.168.1.252 20-23 to any
allow tcp from any to any established
allow tcp from any to 192.168.1.252 20-23 setup
allow tcp from me to any setup
...
--------------------------------------------------------------------------------------

В результате при попытке соединения на ftp://62.76.x.x успешно проходит авторизация, но дата соединение не проходит.

far извнешки: ---- (активное соединение)
<- 257 "/" is current directory.
-> PORT 10,254,44,50,7,90
<- 500 Invalid PORT Command.
------------------

far извнешки: ---- (PASV соединение)
<- 350 Restarting at 0.
-> PASV
<- 227 Entering Passive Mode (62,76,x,x,11,99)
------------------

При пассивном соединении есть возможность создать дериктории etc. Но увидеть содержимое никак, как и собственно начать upload/download.

Заранее прошу прощения, возможно такой вопрос уже поднимался.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

 Оглавление

Сообщения по теме [Сортировка по времени, UBB]


1. "внутренний FTP через NAT наружу (freebsd+ipfw+nat+ftp)"  
Сообщение от MoHaX email(ok) on 05-Июн-06, 12:50 
Я может чего не догоняю, но при чём тут 20-23? Для пассивного режима нужны 21 и все выше 1024 (обычно это диапазон задаётся в настройках фтп сервера).
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

2. "внутренний FTP через NAT наружу (freebsd+ipfw+nat+ftp)"  
Сообщение от dodger email(??) on 05-Июн-06, 12:57 
Сразу видно, человек не разбирается в принципе работы протокола FTP. :)
Есть два режима работы:
- активный;
     Клиент делает командное соединение на 21 порт сервера, затем сервер при необходимости делает DATA соединение с 20 порта на указанный порт клиента (с 1024 и до упора).
- пассивный;
     Клиент делает командное соединение на 21 порт сервера, затем клиент при необходимости делает DATA соединение на указанный порт сервера. Диапазон портов сервера для данного режима выбирается в настройках сервера (для ProFTPD это параметр PassivePorts) - на Виндах даже не подскажу :(.

Клиенту удобнее использовать пассивный режим, потому что обычно клиент не в курсе какого рода "стенки" стоят между ним и FTP сервером. :)) А серверу ессно удобно использовать активный режим, поскольку настройка ipfw при этом упрощается по самое немогу.

Для чтения - RFC по протоколу FTP. UDP не используется по определению. 22 и 23 порт тут вообще не при чем. Ржу :D.

А чтобы тебе было проще:
- для активного режима:
NAT: redirect_port tcp 192.168.1.252:21 62.76.x.x:21
IPFW: (после divert) allow tcp from any to 192.168.1.252 21 setup
                      allow tcp from me 20 to any setup
- для пассивного режима: (придется выяснить диапазон портов, который используется серваком под виндами - здесь я предположу что это 32768-65534)
NAT: redirect_port tcp 192.168.1.252:21 62.76.x.x:21
      redirect_port tcp 192.168.1.252:32768-65534 62.76.x.x:32768-65534
IPFW: (после divert) allow tcp from any to 192.168.1.252 21 setup
                      allow tcp from any to 192.168.1.252 32768-65534 setup

Ну и мораль: учите матчасть ;)

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

3. "внутренний FTP через NAT наружу (freebsd+ipfw+nat+ftp)"  
Сообщение от _RAW_ email(ok) on 08-Ноя-06, 15:01 
>А чтобы тебе было проще:
>- для активного режима:
> NAT: redirect_port tcp 192.168.1.252:21 62.76.x.x:21
> IPFW: (после divert) allow tcp from any to 192.168.1.252 21 setup
>
>            
>          allow
>tcp from me 20 to any setup

а вот у меня такая связка не заработала... при коннекте на 21 порт внешнего хоста ни сном ни духом... даже эхо ответа нету от внутреннего сервера а не то что передачи данных.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Оцените тред (1=ужас, 5=супер)? [ 1 | 2 | 3 | 4 | 5 ] [Рекомендовать для помещения в FAQ]




Спонсоры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2022 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру