URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 78900
[ Назад ]

Исходное сообщение
"FTP за Шлюзом"

Отправлено DiverSUNt , 24-Фев-08 18:54 
Помогите советом!
Есть Router под FreeBSD6.2 (Шлюзом работает) на нём поднят IPFW и NATD. за фряхой есть машинка с поднятым FTP -сервером надо сделать так что б FTP был доступен по внешнему адресу   Router'а сделал так:
rc.conf
    #----------NATD-------------
    natd_enable="YES"
    natd_interface="vr0"
    natd_flags="-f /etc/natd.conf"
    natd_program="/sbin/natd"

natd.conf
    same_ports yes
    use_sockets yes

    redirect_port tcp 192.168.0.6:20-21 20-21
    
firewall.conf

    #!/bin/sh
    ipfw -f flush
    oif="vr0"
    iif="em0"
    oip="x.y.z.w"
    iip="192.168.0.1"

    #Хождение через loopbask
    ipfw add 10 allow all from any to any via lo0

    # этоб блок так и не работает
    #ipfw add 11 fwd 192.168.0.1,8080 tcp from 192.168.0.0/24 to any 80
    #
    #ipfw add 12 fwd 127.0.0.1,8080 tcp from 192.168.0.0/24 to any 80
    #
    #ipfw add 13 fwd 192.168.0.5,80 tcp from 192.168.0.0/24 to 192.168.0.1 8088
    #

    #Указание порта на котором висит НАТ
    ipfw add 20 divert natd all from any to any via $oif

    #------------------------ПРокидка портов--------------------------

    #Проброс фтп
    ipfw add 21 allow tcp from any to 192.168.0.6 21 in recv vr0
    ipfw add 21 allow tcp from any to 192.168.0.6 21 out via em0
    ipfw add 21 allow tcp from  192.168.0.6 20 to any in recv em0
    ipfw add 21 allow tcp from  192.168.0.6 20 to any out via vr0
    .........
===================================================================
после этих манипуляций связь с фтп устанавливаеться, но ответы по трасспортным каналам не ходят... Даже список папок не отображается...
хотя папки создаются...


Содержание

Сообщения в этом обсуждении
"FTP за Шлюзом"
Отправлено angra , 24-Фев-08 19:16 
Знаком с настройкой фаервола/нат только в линуксе, так что конкретные команды не подскажу. Однако могу напомнить общие принципы настройки ftp. Существует два режима соединения активный и пассивный и настройки будут разные на стороне клиента и шлюза
1. Активный. В этом режиме у сервера фиксированные порты 20 и 21, а у клиента 21 и рандомный порт выше 1024 соединенный с 20 портом сервера, это соединение инициируется сервером. На шлюзе надо сделать проброс 20 и 21(у вас это вроде есть) и разрешить исходящее соединение от ftp сервера на любой ip и порт >1024. Клиенту указать активный режим, на его стороне не должны фаерволом закрываться порты выше 1024
2 Пассивный. В этом случае клиент шлет запрос на 21 порт, сервер выбирает порт выше 1024 и сообщает его клиенту, после чего клиент устанавливает соединение с этим портом, 20 порт не используется вообще. Нужен проброс 21 порта чтобы клиент мог инициировать соединение и всех портов выше 1024 дабы работал канал данных, исходящие соединение не нужны. Клиенту надо указывать пассивный режим.

"FTP за Шлюзом"
Отправлено Maritanna , 24-Фев-08 20:52 
Я у себя такую штуку делала.
Заработало все с такими строками:
nat запускаем с параметрами.
/sbin/natd -redirect_port tcp 192.168.1.200:21 21 -redirect_port tcp 192.168.1.200:20 20 -n rl0

в фаере:
allow tcp from any to any dst-port 20,21
allow tcp from any 20,21 to any

Долго мучалась, пытаясь зайти - ничего не получалось. Дело в том, что если проверять из локальной сети, эти правила не отрабатывают.
Проверять только из какой-то внешней сети надо... или вообше с другого провайдера.