Страница 1 из 1

ftp, ipfw, natd

Добавлено: 2008-12-03 17:35:38
f0s
Есть ftp поднятый в клетке (192.168.10.99).
есть ipfw+natd с внешним айпи. (192.168.10.10 && 84.54.64.20)

прописываю в /etc/natd.conf:

Код: Выделить всё

redirect_port tcp 192.168.10.99:20 20
redirect_port tcp 192.168.10.99:21 21

далее в фаерволе добавил такие строке ниже ната:

Код: Выделить всё

03400     0        0 allow tcp from any to 192.168.10.99 dst-port 20 in via xl0
03500     0        0 allow tcp from any to 192.168.10.99 dst-port 20 out via nve0
03600    66     3558 allow tcp from any to 192.168.10.99 dst-port 21 in via xl0
03700    66     3558 allow tcp from any to 192.168.10.99 dst-port 21 out via nve0

из локальки естесвенно все ок работает.. а вот когда ко мне пытаются подклчистя из инета на внешнйи айпи происходит следующее:

на клиенте:

Код: Выделить всё

Status:     Resolving IP-Address for server.spb.ru
Status:     Connecting to 84.54.64.20:21...
Status:     Connection established, waiting for welcome message...
Response:     220 ftp.artpaint FTP server (Version 6.00LS) ready.
Command:     USER artpaint
Response:     331 Password required for artpaint.
Command:     PASS **********
Error:     Connection timed out
Error:     Could not connect to server
и отрубается по таймауту


прообуем еще раз. на этот раз удается даже сделать LIST. но потом опять бяда:

Код: Выделить всё

Status:     Resolving IP-Address for server.spb.ru
Status:     Connecting to 84.54.64.20:21...
Status:     Connection established, waiting for welcome message...
Response:     220 ftp.artpaint FTP server (Version 6.00LS) ready.
Command:     USER artpaint
Response:     331 Password required for artpaint.
Command:     PASS **********
Response:     230 User artpaint logged in.
Command:     SYST
Response:     215 UNIX Type: L8 Version: BSD-199506
Command:     FEAT
Response:     211- Extensions supported:
Response:      MDTM
Response:      REST STREAM
Response:      SIZE
Response:     211 End.
Status:     Connected
Status:     Retrieving directory listing...
Command:     PWD
Response:     257 "/usr/home/artpaint" is current directory.
Command:     TYPE A
Response:     200 Type set to A.
Command:     PASV
Response:     227 Entering Passive Mode (84,54,64,20,237,91)
Command:     LIST
Error:     Connection timed out
Error:     Failed to retrieve directory listing
при этом вот что пишется в логах на тачке ftp:

Код: Выделить всё

Dec  3 14:22:27 ftp ftpd[56505]: connection from user200-99.tsinet.ru (217.97.200.99)
Dec  3 14:22:43 ftp ftpd[56505]: FTP LOGIN FROM user200-99.tsinet.ru as artpaint
Dec  3 14:30:47 ftp ftpd[56957]: connection from user200-99.tsinet.ru (217.97.200.99)
Dec  3 14:30:47 ftp ftpd[56957]: FTP LOGIN FROM user200-99.tsinet.ru as artpaint

Re: ftp, ipfw, natd

Добавлено: 2008-12-03 17:41:26
paradox
ммм
ftp лучше через ftp-proxy пробрасывать
у него там кучу заморочек пассив актив режимы...

Re: ftp, ipfw, natd

Добавлено: 2008-12-03 17:50:58
f0s
покурил ftp-proxy... он тока с pf работает? или в ipfw кому-нить его удалось включить?

Re: ftp, ipfw, natd

Добавлено: 2008-12-03 17:53:11
paradox
делаешь kldload pf
и все
дальше его настраиваешь
и незадумываешься ни очем

Re: ftp, ipfw, natd

Добавлено: 2008-12-03 20:23:21
dikens3
paradox писал(а):ftp лучше через ftp-proxy пробрасывать
Умереть бы ему давно пора, этому FTP.
f0s писал(а):покурил ftp-proxy... он тока с pf работает? или в ipfw кому-нить его удалось включить?

Код: Выделить всё

Command:     PASV
Response:     227 Entering Passive Mode (84,54,64,20,237,91)
Попробуй Активный FTP. Должен работать.

Re: ftp, ipfw, natd

Добавлено: 2008-12-04 11:42:21
kolesya
может redir поможет ?

Код: Выделить всё

/usr/ports/net/redir

Re: ftp, ipfw, natd

Добавлено: 2008-12-04 11:58:03
f0s
paradox писал(а):делаешь kldload pf
и все
дальше его настраиваешь
и незадумываешься ни очем
понимаешь в чем дело... фаервол у меня ipfw, там все настроено, и это рабочий шлюз.. меня на pf это не много не тот вариант.

Re: ftp, ipfw, natd

Добавлено: 2008-12-04 11:59:21
f0s
dikens3 писал(а):
paradox писал(а):ftp лучше через ftp-proxy пробрасывать
Умереть бы ему давно пора, этому FTP.
f0s писал(а):покурил ftp-proxy... он тока с pf работает? или в ipfw кому-нить его удалось включить?

Код: Выделить всё

Command:     PASV
Response:     227 Entering Passive Mode (84,54,64,20,237,91)
Попробуй Активный FTP. Должен работать.

попробовал активным - тоже самое... прчие из локальки ве хорошо работает.. я так понимаю дело в том, что какие-то порты надо еще открыть....

Re: ftp, ipfw, natd

Добавлено: 2008-12-04 12:29:41
kolesya

Код: Выделить всё

man redir
....
       --ftp  When using redir for an  FTP  server,  this  will  cause
              redir  to also redirect ftp connections.  Type should be
              specified as either "port", "pasv", or "both", to  spec-
              ify  what  type  of FTP connection to handle.  Note that
              --transproxy often makes one  or  the  other  (generally
              port) undesirable.
Диаппазон портов смотри так

Код: Выделить всё

sysctl net.inet.ip.portrange

Re: ftp, ipfw, natd

Добавлено: 2008-12-04 18:30:33
paradox
понимаешь в чем дело... фаервол у меня ipfw, там все настроено, и это рабочий шлюз.. меня на pf это не много не тот вариант
ты про pf и знать небудешь
его будет токо юзать proxy-ftp
оно само правилами рулить для фтп будет
токо настрой его в inetd.conf и все
пример там помоему есть

Re: ftp, ipfw, natd

Добавлено: 2008-12-08 14:15:00
f0s
в общем разобрался. кому интересно, как все сделать на сабже, без всяких pf и там, объясняю:

редактируем для начала /etc/natd.conf

Код: Выделить всё

[f0s@router] /home/f0s/> cat /etc/natd.conf
use_sockets yes
same_ports yes
redirect_port tcp 192.168.10.99:21 21
punch_fw 7401:90
затем ниже ната я добавил такие строчки в фаервол:

Код: Выделить всё

03600    66     3558 allow tcp from any to 192.168.10.99 dst-port 21 in via xl0
03700    66     3558 allow tcp from any to 192.168.10.99 dst-port 21 out via nve0
в итоге, все круто.. теперо когда кто-то подключается, natd создает новые динамические правила с 7400 до 7500 (до запрещающего правила.. я поставил до established).

Код: Выделить всё

07401       2         88 allow tcp from 192.168.10.99 64280 to 87.248.240.62 dst-port 57809
07401       4        176 allow tcp from 87.248.240.62 57809 to 192.168.10.99 dst-port 64280
07403       4        694 allow tcp from 192.168.10.99 50537 to 87.248.240.62 dst-port 51064
07403       8        336 allow tcp from 87.248.240.62 51064 to 192.168.10.99 dst-port 50537
07405       2         88 allow tcp from 192.168.10.99 60025 to 87.248.240.62 dst-port 54087
07405       4        176 allow tcp from 87.248.240.62 54087 to 192.168.10.99 dst-port 60025
07409       2         88 allow tcp from 192.168.10.99 60273 to 87.248.240.62 dst-port 63821
07409       4        176 allow tcp from 87.248.240.62 63821 to 192.168.10.99 dst-port 60273
07411       4        694 allow tcp from 192.168.10.99 51629 to 87.248.240.62 dst-port 54122
07411       8        336 allow tcp from 87.248.240.62 54122 to 192.168.10.99 dst-port 51629

Re: ftp, ipfw, natd

Добавлено: 2008-12-08 14:29:46
MASiK
ХЗ Чё у вас за гиморы

ipfw ($lw - Internet Interface)

Код: Выделить всё

${fw} 2160 add allow tcp from any to any 49152-65534 via ${lw}
${fw} 2070 add allow tcp from any to any 21 via ${lw}
Разве что если я Юзаю proftpD...

pdoftpd.conf

Код: Выделить всё

PassivePorts 49152 65534
И всё отлично...

Re: ftp, ipfw, natd

Добавлено: 2008-12-08 14:32:12
f0s
MASiKk писал(а):ХЗ Чё у вас за гиморы

ipfw ($lw - Internet Interface)

Код: Выделить всё

${fw} 2160 add allow tcp from any to any 49152-65534 via ${lw}
${fw} 2070 add allow tcp from any to any 21 via ${lw}
Разве что если я Юзаю proftpD...

pdoftpd.conf

Код: Выделить всё

PassivePorts 49152 65534
И всё отлично...
у тебя фтп за натом?
зы. и не хочу я открывать левые порты

Re: ftp, ipfw, natd

Добавлено: 2011-05-04 20:36:02
simon272
f0s писал(а):в общем разобрался. кому интересно, как все сделать на сабже, без всяких pf и там, объясняю:

редактируем для начала /etc/natd.conf

Код: Выделить всё

[f0s@router] /home/f0s/> cat /etc/natd.conf
use_sockets yes
same_ports yes
redirect_port tcp 192.168.10.99:21 21
punch_fw 7401:90
затем ниже ната я добавил такие строчки в фаервол:

Код: Выделить всё

03600    66     3558 allow tcp from any to 192.168.10.99 dst-port 21 in via xl0
03700    66     3558 allow tcp from any to 192.168.10.99 dst-port 21 out via nve0
в итоге, все круто.. теперо когда кто-то подключается, natd создает новые динамические правила с 7400 до 7500 (до запрещающего правила.. я поставил до established).

Код: Выделить всё

07401       2         88 allow tcp from 192.168.10.99 64280 to 87.248.240.62 dst-port 57809
07401       4        176 allow tcp from 87.248.240.62 57809 to 192.168.10.99 dst-port 64280
07403       4        694 allow tcp from 192.168.10.99 50537 to 87.248.240.62 dst-port 51064
07403       8        336 allow tcp from 87.248.240.62 51064 to 192.168.10.99 dst-port 50537
07405       2         88 allow tcp from 192.168.10.99 60025 to 87.248.240.62 dst-port 54087
07405       4        176 allow tcp from 87.248.240.62 54087 to 192.168.10.99 dst-port 60025
07409       2         88 allow tcp from 192.168.10.99 60273 to 87.248.240.62 dst-port 63821
07409       4        176 allow tcp from 87.248.240.62 63821 to 192.168.10.99 dst-port 60273
07411       4        694 allow tcp from 192.168.10.99 51629 to 87.248.240.62 dst-port 54122
07411       8        336 allow tcp from 87.248.240.62 54122 to 192.168.10.99 dst-port 51629
Это самое оно - не надо открывать тысячи портов, все просиходит само собой. В интернете одна лажа с этим пасив-ФТП. Вынесите пост куданить на видное место. Спасибо огромное!!!