vsFTPd 브라우저에 목록이 없습니다

vsFTPd 브라우저에 목록이 없습니다

브라우저를 통해 내 FTP 서버에 액세스하려고 하는데 문제가 있습니다.

Filezilla를 사용하여 액세스하면 디렉터리가 잘 보입니다. 그러나 브라우저를 사용하면 디렉토리 목록을 얻지 못합니다.

문제가 해결되기를 바라면서 이 항목을 iptables에 추가했지만 변경되지 않았습니다.

-A INPUT -m state --state NEW -m tcp -p tcp --dport 21 -j ACCEPT

답변1

간단한 해결책은 이 FTP 서버에 연결할 때 Filezilla를 수동 모드를 사용하도록 전환하는 것입니다.

FTP에 연결할 때 제어 채널이라고 하는 포트 21을 사용합니다. 명령을 보내고 실행된 명령의 결과에 대한 알림을 받는 데 사용되는 연결입니다. 파일 목록( 로 출력 LIST), 파일 전송( 파일 가져오기 RETR및 파일 넣기 STOR) 및 실제로 데이터 전송이 필요한 기타 작업의 경우 데이터 채널이라는 별도의 채널이 생성됩니다. FTP는 이 데이터 채널을 활성 또는 수동 모드로 작동할 수 있습니다. 둘 다 데이터 채널이 설정되는 방식을 나타냅니다.

You issue a LIST (in active mode)

CLIENT                                 FIREWALL                              FTP SERVER
                                          _              (port 21)                _
 __  _               (port 21)           |=| ---------- LIST command --------->  |=|
[__]|=|  ----- LIST command issued -- >  |=|                                     |=|
/::/|_| .                                |_| <----- FTP server attempts to ----  |_|
        `\___ now listening on arbitrary            connect and gets denied
              port for data channel say 8000             by firewall

활성 모드에서 클라이언트는 자신이 생성한 모든 수신 포트를 광고합니다.FTP 서버클라이언트 컴퓨터에서 이 광고된 주소와 포트에 연결합니다. FTP 데이터 채널을 알리는 클라이언트 호스트의 임의의(자주 변경되는) 상위 포트 번호이기 때문에 일반적으로 방화벽이 트래픽을 차단하는 곳입니다. Filezilla는 기본적으로 6000에서 7000 사이의 포트를 사용합니다. 방화벽이 이 연결을 차단하지 않으면 LIST명령 출력은 이 별도의 채널을 통해 전송됩니다.

You issue a LIST (in passive mode)


CLIENT                             FIREWALL                               FTP SERVER
                                       _              (port 21)                _
 __  _            (port 21)           |=| ---------- LIST command --------->  |=|
[__]|=| --- LIST command issued -- >  |=|                                     |=|
/::/|_|                               |_| <--- FTP server advertises the ---  |_|
                                               listening data port over     \___ server with
                                                  the control channel         listening data
                                                                                 channel

CLIENT                                 FIREWALL                            FTP SERVER
                                          _              (port 21)             _
 __  _   <--- open control channel --->  |=| ---- open control channel ---->  |=|
[__]|=|                                  |=|                                  |=|
/::/|_|  --- client establishes a ---->  |_| ---- passive data channel ---->  |_|
             connection to the                    connection allowed
             advertised data channel                  by firewall       

수동 모드에서는 역할이 바뀌고 FTP 클라이언트가 명령 PASV보다 먼저 명령을 실행합니다 LIST. 이것FTP 서버그런 다음 수신 TCP 포트를 생성하고 클라이언트가 데이터 채널을 설정하기 위해 연결할 포트를 광고합니다. 대부분의 방화벽은 일반적으로 이를 허용합니다(클라이언트가 모든 포트에 아웃바운드 연결을 만들 수 있기 때문).

FTP 서버와 인터넷 사이에 방화벽이 있는 경우 방화벽이반품수동 연결을 허용하려면 이러한 포트를 열도록 구성해야 합니다. 대부분의 FTP 서버에는 광고되는 포트 범위를 설정하는 기능이 있으며 이러한 포트를 열어 이러한 연결을 허용할 수 있습니다.

제한이 있고 수동 작업을 수행할 수 없는 클라이언트가 있는 경우 Filezilla는 이 기능을 제공합니다(편집->설정...->연결/FTP/활성 모드를 통해 사용할 포트 설정). 그런 다음 이 포트를 컴퓨터에 추가할 수 있습니다. 방화벽.

관련 정보