ftp passive mode
Integrator/U-LINUX / 2008. 2. 21. 19:31
사설(내부) 아이피에서 ftp 사용시 passive mode 때문에 접속이 제대로 안되는 경우가 종종 있는데..
그때는 아래처럼 해 보시기 바랍니다.
$ ftp 218.xx.xxx.xx 10002
Connected to 218.xx.xxx.xx.
220 Welcome to FTP Server
530 Please login with USER and PASS.
530 Please login with USER and PASS.
KERBEROS_V4 rejected as an authentication type
Name (218.xx.xxx.xx:con): sadad
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> dir
227 Entering Passive Mode (192,168,123,107,197,183)
<== passive가 on으로 되어 있을 경우 출력되는 내용이다.
vsftp에서 따로 설정이 되지 않으면 기본적으로 on으로 설정된다..
ftp> passive
Passive mode off. <== off로 전환
ftp> dir
550 Permission denied.
Passive mode refused. Turning off passive mode.
200 PORT command successful. Consider using PASV.
150 Here comes the directory listing.
-rw-r--r-- 1 0 0 1093 Mar 19 09:50 test.txt
Connected to 218.xx.xxx.xx.
220 Welcome to FTP Server
530 Please login with USER and PASS.
530 Please login with USER and PASS.
KERBEROS_V4 rejected as an authentication type
Name (218.xx.xxx.xx:con): sadad
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> dir
227 Entering Passive Mode (192,168,123,107,197,183)
<== passive가 on으로 되어 있을 경우 출력되는 내용이다.
vsftp에서 따로 설정이 되지 않으면 기본적으로 on으로 설정된다..
ftp> passive
Passive mode off. <== off로 전환
ftp> dir
550 Permission denied.
Passive mode refused. Turning off passive mode.
200 PORT command successful. Consider using PASV.
150 Here comes the directory listing.
-rw-r--r-- 1 0 0 1093 Mar 19 09:50 test.txt
이처럼 출력이 된다면..
/usr/local/etc/vsftpd.conf 파일에다..
pasv_enable=NO
를 추가후 inetd를 재실행해 주면 되고..
다시 접속을 하면 재대로 실행이 될것이다..
이것 때문에 클라이언트의 cuteftp 설정을 만지는등.. 무지 하게 시간 허비했는데..
윈도우 ftp 프로그램으로 접근할시 개인 방화벽이 있다면.. ftp서버의 아이피에서 접근이 가능하게 해 주어야 합니다.
(포트는 주기적으로 변경이 됨으로 ip주소를 등록해 주는게 좋다.)
다른 곳(linux)에서 콘솔상에서 테스트시에는 구지 iptables로 접근을 허가하지 않아도 되나..
잘 되지 않는다면.. 해당 아이피 접근을 열어주기 바랍니다.
FTP 접속방식은 Port Mode(Active Mode)와 Passive Mode 두 가지가 있습니다.
(1) Port Mode (Active Mode)
처 음 client가 server로 21번 포트로 접속을 맺게 되는데 이 session을 Command Session이라고 하며, 이 Command Session을 통해 사용자는 server에게 사용자 ID와 Password를 전달해서 인증을 받습니다. 인증을 거친 client는 pwd, dir, get, put…등의 원하는 작업에 해당하는 명령어를 전달합니다.
FTP 를 통해 실제 파일을 주고 받을 때는 새로운 session이 하나 더 연결되는데 이를 Data Session이라고 합니다. Data Session은 server에서 자신의 출발지 포트를 20번으로 하고 client로 1024이상의 포트로 접속을 맺습니다.
이 Data Session을 통해 client는 server로부터 파일을 다운로드 할 수 있고 server로 업로드를 하게 됩니다.
그 러나 client가 사설이면 server와 Command Session은 맺어지지만, Data Session은 맺어지지 않게 됩니다. server에서 사설 client로 Data session 연결을 시도하지만 사설IP이기 때문에 연결이 되지 않습니다.
이런 이유로 FTP Gateway설정을 해서 방화벽이 내부 사용자들의 FTP 접속을 대행하게 됩니다.
방화벽이 내부 사설 PC의 FTP접속 요구를 가로채서 방화벽이 대신 server로 접속을 하게 됩니다. 방화벽이 server와 client의 중간에서 data의 흐름을 중개하게 됩니다.
(2) Passive Mode
Port Mode(Active Mode)가 client에서 server로 , server에서 client로의 접속인 반면 Passive Mode는 client가 server로 Command Session과 Data Session을 모두 연결하는 방식입니다.
내부 사설 PC에서 server로 Command와 Data Session을 모두 연결하기 때문에 내부에서 외부로 FTP접속시 Passive Mode로만 접속한다면 방화벽에서는 FPT Gateway를 설정할 필요는 없습니다.
'Integrator > U-LINUX' 카테고리의 다른 글
우분투에서 하드드라이브 추가하기 (2) | 2008.03.04 |
---|---|
우분투 IP변경하기 (0) | 2008.03.04 |
우분투 vsftpd 설치하기 (1) | 2008.03.04 |
리눅스 스트리밍 서버에 관한 솔류션 (2) | 2008.02.21 |
아파치 웹 서버 무단 링크 방지 (0) | 2008.02.21 |