FreeBSD 5.2, proftpd, ipfw
Внутри сети все работает нормально, в пассивном режиме и активном.
Снаружи работает только активный, но многие используют passive, в итоге ругаются что ничего не работает.
rc.firewall содержит следующее:
${fwcmd} add pass tcp from any to any 20
${fwcmd} add pass tcp from any 20 to any
${fwcmd} add pass tcp from any to any 21
${fwcmd} add pass tcp from any 21 to any
${fwcmd} add pass tcp from any to me 49152-65534
${fwcmd} add pass tcp from me 49152-65534 to anyproftpd.conf:
PassivePorts 49152 65534пробую:
ftp> passive
Passive mode on.
ftp> ls
---> EPSV
229 Entering Extended Passive Mode (|||65499|)
ftp: connect: Operation timed outчто сделано не так?
ИМХО не настроен ftp-proxyЕго настройки при использовании PF
http://dreamcatcher.ru/docs/pf_firewallig.html#top12Или попробуйте прикрутить сторонний проксик.
>ИМХО не настроен ftp-proxy
>
>Его настройки при использовании PF
>http://dreamcatcher.ru/docs/pf_firewallig.html#top12
>
>Или попробуйте прикрутить сторонний проксик.а можно чуть попобдробнее?
/usr/ports/ftp/ftpproxy - это оно?
я так понял что его надо в inetd.conf прикрутить. а остальное насчет ipfw у меня выглядит в порядке?
>>ИМХО не настроен ftp-proxy
>>
>>Его настройки при использовании PF
>>http://dreamcatcher.ru/docs/pf_firewallig.html#top12
>>
>>Или попробуйте прикрутить сторонний проксик.
>
>а можно чуть попобдробнее?
>/usr/ports/ftp/ftpproxy - это оно?
>я так понял что его надо в inetd.conf прикрутить. а остальное насчет
>ipfw у меня выглядит в порядке?такой вопрос. А на другие фтп ты в пассиве заходиш?
>>а можно чуть попобдробнее?
>>/usr/ports/ftp/ftpproxy - это оно?
>>я так понял что его надо в inetd.conf прикрутить. а остальное насчет
>>ipfw у меня выглядит в порядке?
>
>такой вопрос. А на другие фтп ты в пассиве заходиш?да изнутри сети на другие фтп и в пассив и в актив режиме все работает.
и мой изнутри сети работает, но вот снаружи не выходит, только актив.
>а можно чуть попобдробнее?
>/usr/ports/ftp/ftpproxy - это оно?Оно
>я так понял что его надо в inetd.conf прикрутить. а остальное насчет
>ipfw у меня выглядит в порядке?Да в порядке.
Покопайте еще конфиг или доку к proftpd на предмет так называемого report IP. Суть в следующем. Когда клиент пытается подсоединиться к ФТП серверу в пассивном режиме, то он входит на управляющий канал по 21 порту. Затем по этому порту он спрашивает у ФТП сервера КУДА нужно подключиться для перехода в пассивный режим. В роли КУДА ФТП сервер отсылает по умолчанию свой IP адрес и порт из диапазона 49000 - 65000. Так вот ФТП сервер может послать клиенту любой IP адрес, лишь бы он умел это делать.С proftpd я близко дела не имел, но в другом сервере этот адрес назывался Report IP.
Ну и внимательно проверьте механизм попадания пакетов из внешней сети на Ваш ФТП. Суть маппинг портов.
Все разобрался, сам олень ;)
В не правильном стояли правила в rc.firewall
всем спасибо.
Вобщем рано обрадовался. Если работает мой фтп внаружу то пользователи из локалки не могут попасть на чужие фтп в интернет, если убрать следующие пару строк то пользователи проходят, а мой фтп перестает работать в пассиве:
${fwcmd} add pass tcp from any to any 20
${fwcmd} add pass tcp from any 20 to any
${fwcmd} add pass tcp from any to any 21 <-- вот эти
${fwcmd} add pass tcp from any 21 to any <-- строки!
${fwcmd} add allow tcp from any to me 49152-65534
${fwcmd} add allow tcp from me 49152-65534 to any
${fwcmd} add divert natd all from any to any via an0может кто подсказать почему так происходит?
>Вобщем рано обрадовался. Если работает мой фтп внаружу то пользователи из локалки
>не могут попасть на чужие фтп в интернет, если убрать следующие
>пару строк то пользователи проходят, а мой фтп перестает работать в
>пассиве:
>${fwcmd} add pass tcp from any to any 20
>${fwcmd} add pass tcp from any 20 to any
>${fwcmd} add pass tcp from any to any 21
> <-- вот эти
>${fwcmd} add pass tcp from any 21 to any
> <-- строки!
>${fwcmd} add allow tcp from any to me 49152-65534
>${fwcmd} add allow tcp from me 49152-65534 to any
>${fwcmd} add divert natd all from any to any via an0
>
>может кто подсказать почему так происходит?
Попробуйте поменять на:
${fwcmd} add pass tcp from any to me 21 <-- вот эти
${fwcmd} add pass tcp from me 21 to any <-- строки!
>Вобщем рано обрадовался. Если работает мой фтп внаружу то пользователи из локалки
>не могут попасть на чужие фтп в интернет, если убрать следующие
>пару строк то пользователи проходят, а мой фтп перестает работать в
>пассиве:
>${fwcmd} add pass tcp from any to any 20
>${fwcmd} add pass tcp from any 20 to any
>${fwcmd} add pass tcp from any to any 21
> <-- вот эти
>${fwcmd} add pass tcp from any 21 to any
> <-- строки!
>${fwcmd} add allow tcp from any to me 49152-65534
>${fwcmd} add allow tcp from me 49152-65534 to any
>${fwcmd} add divert natd all from any to any via an0
>
>может кто подсказать почему так происходит?
Строку divert поднимите в начало списка.
>>Вобщем рано обрадовался. Если работает мой фтп внаружу то пользователи из локалки
>>не могут попасть на чужие фтп в интернет, если убрать следующие
>>пару строк то пользователи проходят, а мой фтп перестает работать в
>>пассиве:
>>${fwcmd} add pass tcp from any to any 20
>>${fwcmd} add pass tcp from any 20 to any
>>${fwcmd} add pass tcp from any to any 21
>> <-- вот эти
>>${fwcmd} add pass tcp from any 21 to any
>> <-- строки!
>>${fwcmd} add allow tcp from any to me 49152-65534
>>${fwcmd} add allow tcp from me 49152-65534 to any
>>${fwcmd} add divert natd all from any to any via an0
>>
>>может кто подсказать почему так происходит?
>
>
>Строку divert поднимите в начало списка.
Подскажите, как решилась проблема? У меня такие же правила, но извне на мой сервер в пассивном режиме не попасть.
Позвольте поднять эту избитую тему еще раз. У меня наблюдается таже проблема с ProFTPD.
В сети нашел много советов на тему как заставить работать passive mode, однако все они относятся к случаю работы сервера за NAT. В моем же случае сервер работает "на переднем крае" и не работает пассивный режим у клиентов, которые сидят за NAT+Firewall.