안녕하세요. FTP를 허용하도록 iptables를 설정하려고 합니다. FTP에 연결하면 파일질라에 다음 메시지가 나타납니다.
Status: Connected
Status: Retrieving directory listing...
Command: PWD
Response: 257 "/" is the current directory.
Command: TYPE I
Response: 200 Type set to: Binary.
Command: PASV
Response: 227 Entering passive mode (X,X,X,X,225,8).
Command: MLSD
Response: 150 File status okay. About to open data connection.
Error: Connection timed out
Error: Failed to retrieve directory listing
내 IP 테이블은 다음과 같습니다.http://pastebin.com/er1CtZjZ
어떤 도움이라도 감사하겠습니다.
답변1
ftp 데몬을 실행하려면 수신 TCP 포트 범위(예: 40000:41999)를 열고 이러한 포트를 ftp 데몬에 대한 일치 구성 파일과 일치시켜야 합니다. 예를 들어 내 파일에는 다음이 있습니다 /etc/proftpd.conf
.
<VirtualHost ftp.foo.bar>
Port 21
DefaultRoot ~
HiddenStores on
PathDenyFilter (\\.ftpaccess|\\.htaccess|\\.php|\\.rar)
Umask 077
DirFakeGroup on
DirFakeUser on
DefaultTransferMode binary
DeferWelcome on
MaxClients 12 "Too many logins"
MaxClientsPerHost 4 "Too many logins"
PassivePorts 40000 41999
</VirtualHost>
추신: 더 말해야 합니까? 물론 제어 연결을 위해 수신 포트 20과 21도 열려 있어야 합니다.