Привет всем! Прошу вашей помощи!
Есть FreeBsd 6.1. Он выполняет роль шлюза между локальной сетью и интернетом. На нём есть: nat, ipfw, squid, netams и прочие дела. Также установлен Proftpd 1.3.0rc3, ставил из портов. Его конфиг:
ServerType standalone
DefaultServer on
ScoreboardFile /var/run/proftpd.scoreboard
#ServerIdent off
RootLogin onIdentLookups off
UseReverseDNS off
AllowRetrieveRestart on
AllowStoreRestart on
DefaultAddress 213.33.216.х
#Foregn adreses
AllowForeignAddress on
#Safe Ports
PassivePorts 50000 50100
# Port 21 is the standard FTP port.
Port 21
# Umask 022 is a good standard umask to prevent new dirs and files
# from being group and world writable.
Umask 022
MaxInstances 30
# Set the user and group under which the server will run.
User nobody
Group nogroup
# To cause every FTP user to be "jailed" (chrooted) into their home
# directory, uncomment this line.
DefaultRoot ~ ftp, !wheel
# Normally, we want files to be overwriteable.
AllowOverwrite on
# Messages on login
#DisplayConnect /etc/proftpd/ftp_connect.msg
#DisplayLogin /etc/proftpd/ftp_login.msg
AccessDenyMsg "ATTENTION!!! ALL CONNECTIONS LOGED"
AccessGrantMsg "Now apload/download files"
DisplayGoAway "Go Away"
# Time ranges
TimeoutIdle 10000
# Logs
DebugLevel 9
SyslogLevel debug #notice
TransferLog /var/log/proftpd-tranfer.log
SystemLog /var/log/proftpd-error.log
ExtendedLog /var/log/proftpd-extended.log read,write
# Bar use of SITE CHMOD by default
<Limit SITE_CHMOD>
DenyAll
</Limit>
<Directory /usr/home/ftp>
<Limit DELE>
AllowUser root
DenyAll
</Limit>
</Directory>
<Directory /usr/home/ftp/cobalt_photo>
<Limit DELE>
AllowUser root
DenyAll
</Limit>
</Directory>
<Directory /usr/home/ftp/pub>
<Limit WRITE>
AllowUser root
DenyAll
</Limit>
<Limit DELE>
AllowUser root
DenyAll
</Limit>
</Directory>
В фаерволе стоят следующие правила (хотя перепробовал уже много всех разных):
02000 allow tcp from any to any established
02900 allow log tcp from any to 213.33.216.х dst-port 21
03000 allow log tcp from 213.33.216.х 21 to any
03500 allow log tcp from any to 213.33.216.х dst-port 50000-50100
03600 allow log tcp from 213.33.216.х 50000-50100 to any
Это то что связано с ftp. 213.33.216.х - внешний IP, на него настроена сетевушка смотрящая в инет.
Проблема в следующем: Не работает пассивный режим если я пытаюсь извне подключиться к своему серверу. Активный работает. Если подключаюсь из локальной сети то и активный и пассивный режимы работают.
При подключении извне FlashFXP пишет следующее:
[R] Connecting to 213.33.216.х -> IP=213.33.216.х PORT=21
[R] Connected to 213.33.216.х
[R] 220 ProFTPD 1.3.0rc3 Server [213.33.216.х]
[R] USER ftp
[R] 331 Password required for ftp.
[R] PASS (hidden)
[R] 230 Now apload/download files
[R] SYST
[R] 215 UNIX Type: L8
[R] FEAT
[R] 211-Features:
[R] MDTM
[R] REST STREAM
[R] SIZE
[R] 211 End
[R] PWD
[R] 257 "/" is current directory.
[R] TYPE A
[R] 200 Type set to A
[R] PASV
[R] 227 Entering Passive Mode (213,33,216,х,212,212)
[R] Opening data connection IP: 213.33.216.х PORT: 54484
[R] Data Socket Error: Connection timed out
[R] List Error
Помоему не срабатывает директива в конфиге PassivePorts. Диапазон портов пробовал расширять - не помогает. Но, если ставлю директиву MasqueradeAddress с IP сетевухи смотрящей в локальную сеть, то пассивный режим работает ТОЛЬКО если я подключаюсь из дома через моего домашнего провайдера! Никто другой всё равно не может в пассиве подключиться, вот лог:
[R] Connecting to 213.33.216.х -> IP=213.33.216.х PORT=21
[R] Connected to 213.33.216.х
[R] 220 ProFTPD 1.3.0rc3 Server [193.125.255.х]
[R] USER ftp
[R] 331 Password required for ftp.
[R] PASS (hidden)
[R] 230 Now apload/download files
[R] SYST
[R] 215 UNIX Type: L8
[R] FEAT
[R] 211-Features:
[R] MDTM
[R] REST STREAM
[R] SIZE
[R] 211 End
[R] PWD
[R] 257 "/" is current directory.
[R] TYPE A
[R] 200 Type set to A
[R] PASV
[R] 227 Entering Passive Mode (213,33,216,х,242,185)
[R] Opening data connection IP: 213.33.216.х PORT: 62137
[R] LIST -al
[R] 150 Opening ASCII mode data connection for file list
[R] 226 Transfer complete.
[R] List Complete: 697 bytes in 0,56 seconds (1,2 KB/s)
193.125.255.х - IP сетевухи смотрящей в локалку, и который я указываю в директиве MasquaradeAddress. Но в этом случае порт тоже не входит в сконфигурированный диапазон портов, но, всётаки подключается.
Спасибо всем кто сможет помочь советом. :)