У меня есть веб-сервер (веб-панель CentOS), работающий в экземпляре AWS EC2.
Я подключаю индивидуальное приложение к серверу, который подключается с помощью MySQL и FTP.
У меня проблемы с подключением к FTP-серверу (PureFTP).
Я могу подключиться к FTP-серверу с помощью Filezilla без каких-либо ошибок, хотя получаю предупреждающее сообщение:
"Server sent passive reply with unroutable address. Using server address instead"
.
Теперь, когда я подключаюсь с помощью специального приложения (использует модуль FTP Chilkat, фиксированный в пассивном режиме), оно просто зависает при подключении.
Просматривая системный журнал, я вижу следующие сообщения:
Feb 13 12:26:23 hosting kernel: nf_ct_ftp: dropping packet: partial matching of `227 ' IN= OUT= SRC=172.31.9.153 DST=51.219.52.115 LEN=65 TOS=0x10 PREC=0x00 TTL=64 ID=11556 DF PROTO=TCP SPT=21 DPT=33158 SEQ=512403447 ACK=2693072523 WINDOW=421 RES=0x00 ACK PSH FIN URGP=0 OPT (0101050AA085068AA085068B)
172.31.9.153 - это локальный IP-адрес AWS, а 51.219.52.115 - это IP-адрес локального компьютера, на котором запущено специальное приложение.
Моя конфигурация pureftp ниже:
ChrootEveryone:yes
BrokenClientsCompatibility:no
MaxClientsNumber:50
Daemonize:yes
MaxClientsPerIP:8
VerboseLog:no
DisplayDotFiles:yes
AnonymousOnly:no
NoAnonymous:no
SyslogFacility:ftp
DontResolve:yes
MaxIdleTime:15
PureDB:/etc/pure-ftpd/pureftpd.pdb
PAMAuthentication:yes
UnixAuthentication:yes
LimitRecursion:10000 8
AnonymousCanCreateDirs:no
MaxLoad:4
PassivePortRange:30000 35000
AntiWarez:yes
Umask:133:022
MinUID:1000
UseFtpUsers:no
AllowUserFXP:no
AllowAnonymousFXP:no
ProhibitDotFilesWrite:no
ProhibitDotFilesRead:no
AutoRename:no
AnonymousCantUpload:yes
AltLog:clf:/var/log/pureftpd.log
MaxDiskUsage:99
CustomerProof:yes
Я открыл порты 30000 35000 в AWS, а также в брандмауэре CSF (и пробовал с отключенным брандмауэром).
Может ли кто-нибудь пролить свет на эти странные ошибки или обнаружить что-нибудь, что я неправильно настроил?
Обнаружив проблему, pure-ftp отвечал локальным IP-адресом NAT, а не общедоступным IP-адресом сервера.
Мне нужно было установить опцию:
ForcePassiveIP 54.194.63.112
Этого не было в настройках CWP, поэтому мне пришлось вручную отредактировать его в файл
/etc/pure-ftpd/pure-ftpd.conf
.
Как только он был введен и служба ftp перезапущена, все начало работать.