The OpenNET Project / Index page

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

форумы  помощь  поиск  регистрация  майллист  ВХОД  слежка  RSS
"Как организовать FTP доступ к машине за firewall-ом ? "
Вариант для распечатки Архивированная нить - только для чтения! 
Пред. тема | След. тема 
Форумы Информационная безопасность (Public)
Изначальное сообщение [Проследить за развитием треда]

"Как организовать FTP доступ к машине за firewall-ом ? "
Сообщение от Not emailИскать по авторуВ закладки on 09-Сен-03, 19:37  (MSK)
Добрый день!

После несколькодневного перелопачивания opennet решился спросить у All.
Имеется: гейтвей на FreeBSD 4.8? на котором подняты nat + ipfw (уже все настроено)
Проблема в следующем: как можно организовать FTP доступ на машину, к-рая принадлежит внутренней сети, и не имеет реального IP? Притом, необходимо, чтобы и FTP гейтвея был доступен извне.
Пробую так: поднимаю на внутренней тачке FTP на 2121 порт. Алиасю его НАТом снаружи, так чтобы запросы на 2121-порт гейтвея редиректились на 2121-й внутренней тачки. Зараза, коннектится, но LIST не выдает. Ни в active ни в passive mode. Помогите плиз, как обойтись в этой ситуации?

Настройки:
natd.conf:
==========
unregistered_only yes
use_sockets yes
same_ports no
redirect_port tcp 192.168.0.100:2121 2121

rc.firewall:
============
oif - внешний интерфейс
oip - реальный IP смотрящий наружу
inet:imask - внутренняя сеть, 192.168.0.1/255.255.255.0
============
.....
${fwcmd} add divert natd all from any to any via ${oif}
${fwcmd} add divert natd tcp from any to ${oip} 2121 via ${oif}
${fwcmd} add divert natd udp from 192.168.0.100 to any via ${oif}
.....
${fwcmd} add fwd 127.0.0.1,3128 tcp from ${inet}:${imask} to any 80
${fwcmd} add pass tcp from any to any established
${fwcmd} add pass all from any to any frag
${fwcmd} add pass tcp from any to ${oip} 20,21,2121 setup
${fwcmd} add pass udp from any to ${oip} 1024-65534
${fwcmd} add pass tcp from any to ${oip} 22 setup
${fwcmd} add pass tcp from ${oip} 20,21,2121 to any
${fwcmd} add pass udp from ${oip} 20,21,2121 to any keep-state

${fwcmd} add pass tcp from any to any 20,21,2121 setup
${fwcmd} add pass tcp from any to any 1024-65534 setup
${fwcmd} add pass udp from any to any 20,21,2121 via ${oif}

${fwcmd} add pass tcp from any 20,21,2121 to any setup
${fwcmd} add pass tcp from any 1024-65534 to any setup
${fwcmd} add pass udp from any 20,21,2121 to any via ${oif}

${fwcmd} add pass tcp from ${inet}:${imask} to any 1024-65535 keep-state out xmit ${oif}
===================
Кстати, аналогичным образом http траффик можно завернуть с отдельного порта шлюза на 80-й той же самой тачки. А вот FTP - не получается.
При попытке продолбиться снаружи tcpdump выдал следующий набор пакетов (на внутреннем интерфейсе):

17:51:51.855495 x.x.x.x.63804 > 192.168.0.100.2121: F 47:47(0) ack 216 win 46666 (DF)
17:51:51.855680 192.168.0.100.2121 > x.x.x.x.63804: . ack 48 win 64194 (DF)
17:51:51.855993 192.168.0.100.2121 > x.x.x.x.63804: F 216:216(0) ack 48 win 64194 (DF)
17:51:51.856256 x.x.x.x.63808 > 192.168.0.100.2121: S 3863590945:3863590945(0) win 55808 <mss 1460,nop,wscale 2,nop,nop,sackOK> (DF)
17:51:51.856382 192.168.0.100.2121 > x.x.x.x.63808: S 441313523:441313523(0) ack 3863590946 win 64240 <mss 1460,nop,wscale 0,nop,nop,sackOK> (DF)
17:51:52.014858 x.x.x.x.63804 > 192.168.0.100.2121: . ack 217 win 46666 (DF)
17:51:52.015527 x.x.x.x.63808 > 192.168.0.100.2121: . ack 1 win 46720 (DF)
17:51:52.015777 192.168.0.100.2121 > x.x.x.x.63808: P 1:53(52) ack 1 win 64240 (DF)
17:51:52.070664 x.x.x.x.63808 > 192.168.0.100.2121: P 1:14(13) ack 53 win 46707 (DF)
17:51:52.070867 192.168.0.100.2121 > x.x.x.x.63808: P 53:88(35) ack 14 win 64227 (DF)
17:51:52.126475 x.x.x.x.63808 > 192.168.0.100.2121: P 14:26(12) ack 88 win 46698 (DF)
17:51:52.127021 192.168.0.100.2121 > x.x.x.x.63808: P 88:116(28) ack 26 win 64215 (DF)
17:51:52.226771 x.x.x.x.63808 > 192.168.0.100.2121: P 26:33(7) ack 116 win 46691 (DF)
17:51:52.227290 192.168.0.100.2121 > x.x.x.x.63808: P 116:145(29) ack 33 win 64208 (DF)
17:51:52.340067 x.x.x.x.63808 > 192.168.0.100.2121: P 33:41(8) ack 145 win 46684 (DF)
17:51:52.340292 192.168.0.100.2121 > x.x.x.x.63808: P 145:165(20) ack 41 win 64200 (DF)
17:51:52.432202 x.x.x.x.63808 > 192.168.0.100.2121: P 41:47(6) ack 165 win 46679 (DF)
17:51:52.432938 192.168.0.100.2121 > x.x.x.x.63808: P 165:216(51) ack 47 win 64194 (DF)
17:51:52.717575 x.x.x.x.63808 > 192.168.0.100.2121: . ack 216 win 46666 (DF)
===========================
где - x.x.x.x - реальный внешний адрес с которого шел запрос.

Помогите, пожалуйста. Видно, сказывается нехватка теоретических знаний.

  Рекомендовать в FAQ | Cообщить модератору | Наверх

 Оглавление

Индекс форумов | Темы | Пред. тема | След. тема
Сообщения по теме

1. "Как организовать FTP доступ к машине за firewall-ом ? "
Сообщение от Dor emailИскать по авторуВ закладки on 10-Сен-03, 17:52  (MSK)
>Добрый день!
>
>После несколькодневного перелопачивания opennet решился спросить у All.
>Имеется: гейтвей на FreeBSD 4.8? на котором подняты nat + ipfw (уже
>все настроено)
>Проблема в следующем: как можно организовать FTP доступ на машину, к-рая принадлежит
>внутренней сети, и не имеет реального IP? Притом, необходимо, чтобы и
>FTP гейтвея был доступен извне.
>Пробую так: поднимаю на внутренней тачке FTP на 2121 порт. Алиасю его
>НАТом снаружи, так чтобы запросы на 2121-порт гейтвея редиректились на 2121-й
>внутренней тачки. Зараза, коннектится, но LIST не выдает. Ни в active
>ни в passive mode. Помогите плиз, как обойтись в этой ситуации?
>
>
>Настройки:
>natd.conf:
>==========
>unregistered_only yes
>use_sockets yes
>same_ports no
>redirect_port tcp 192.168.0.100:2121 2121
>
>rc.firewall:
>============
>oif - внешний интерфейс
>oip - реальный IP смотрящий наружу
>inet:imask - внутренняя сеть, 192.168.0.1/255.255.255.0
>============
>.....
>${fwcmd} add divert natd all from any to any via ${oif}
>${fwcmd} add divert natd tcp from any to ${oip} 2121 via ${oif}
>
>${fwcmd} add divert natd udp from 192.168.0.100 to any via ${oif}
>.....
>${fwcmd} add fwd 127.0.0.1,3128 tcp from ${inet}:${imask} to any 80
>${fwcmd} add pass tcp from any to any established
>${fwcmd} add pass all from any to any frag
>${fwcmd} add pass tcp from any to ${oip} 20,21,2121 setup
>${fwcmd} add pass udp from any to ${oip} 1024-65534
>${fwcmd} add pass tcp from any to ${oip} 22 setup
>${fwcmd} add pass tcp from ${oip} 20,21,2121 to any
>${fwcmd} add pass udp from ${oip} 20,21,2121 to any keep-state
>
>${fwcmd} add pass tcp from any to any 20,21,2121 setup
>${fwcmd} add pass tcp from any to any 1024-65534 setup
>${fwcmd} add pass udp from any to any 20,21,2121 via ${oif}
>
>${fwcmd} add pass tcp from any 20,21,2121 to any setup
>${fwcmd} add pass tcp from any 1024-65534 to any setup
>${fwcmd} add pass udp from any 20,21,2121 to any via ${oif}
>
>${fwcmd} add pass tcp from ${inet}:${imask} to any 1024-65535 keep-state out xmit
>${oif}
>===================
>Кстати, аналогичным образом http траффик можно завернуть с отдельного порта шлюза на
>80-й той же самой тачки. А вот FTP - не получается.
>
>При попытке продолбиться снаружи tcpdump выдал следующий набор пакетов (на внутреннем интерфейсе):
>
>
>17:51:51.855495 x.x.x.x.63804 > 192.168.0.100.2121: F 47:47(0) ack 216 win 46666 (DF)
>17:51:51.855680 192.168.0.100.2121 > x.x.x.x.63804: . ack 48 win 64194 (DF)
>17:51:51.855993 192.168.0.100.2121 > x.x.x.x.63804: F 216:216(0) ack 48 win 64194 (DF)
>17:51:51.856256 x.x.x.x.63808 > 192.168.0.100.2121: S 3863590945:3863590945(0) win 55808 <mss 1460,nop,wscale 2,nop,nop,sackOK> (DF)
>17:51:51.856382 192.168.0.100.2121 > x.x.x.x.63808: S 441313523:441313523(0) ack 3863590946 win 64240 <mss 1460,nop,wscale 0,nop,nop,sackOK> (DF)
>17:51:52.014858 x.x.x.x.63804 > 192.168.0.100.2121: . ack 217 win 46666 (DF)
>17:51:52.015527 x.x.x.x.63808 > 192.168.0.100.2121: . ack 1 win 46720 (DF)
>17:51:52.015777 192.168.0.100.2121 > x.x.x.x.63808: P 1:53(52) ack 1 win 64240 (DF)
>17:51:52.070664 x.x.x.x.63808 > 192.168.0.100.2121: P 1:14(13) ack 53 win 46707 (DF)
>17:51:52.070867 192.168.0.100.2121 > x.x.x.x.63808: P 53:88(35) ack 14 win 64227 (DF)
>17:51:52.126475 x.x.x.x.63808 > 192.168.0.100.2121: P 14:26(12) ack 88 win 46698 (DF)
>17:51:52.127021 192.168.0.100.2121 > x.x.x.x.63808: P 88:116(28) ack 26 win 64215 (DF)
>17:51:52.226771 x.x.x.x.63808 > 192.168.0.100.2121: P 26:33(7) ack 116 win 46691 (DF)
>17:51:52.227290 192.168.0.100.2121 > x.x.x.x.63808: P 116:145(29) ack 33 win 64208 (DF)
>17:51:52.340067 x.x.x.x.63808 > 192.168.0.100.2121: P 33:41(8) ack 145 win 46684 (DF)
>17:51:52.340292 192.168.0.100.2121 > x.x.x.x.63808: P 145:165(20) ack 41 win 64200 (DF)
>17:51:52.432202 x.x.x.x.63808 > 192.168.0.100.2121: P 41:47(6) ack 165 win 46679 (DF)
>17:51:52.432938 192.168.0.100.2121 > x.x.x.x.63808: P 165:216(51) ack 47 win 64194 (DF)
>17:51:52.717575 x.x.x.x.63808 > 192.168.0.100.2121: . ack 216 win 46666 (DF)
>===========================
>где - x.x.x.x - реальный внешний адрес с которого шел запрос.
>
>Помогите, пожалуйста. Видно, сказывается нехватка теоретических знаний.
а где поток данных для управляющего потока на порту 2121?
его тоже нужно маппить... так как в пассив моде порт не известен, то маппить придется 20 порт(актив мода), перед этим выключить локальный ftp.

  Рекомендовать в FAQ | Cообщить модератору | Наверх


Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Пожалуйста, прежде чем написать сообщение, ознакомьтесь с данными рекомендациями.




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

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