간단히 말하자면 연결요청을 어느누가 할것인가에 차이이다.
2개의 전송모드에 차이점은 무엇이며 어떠한 원리를 가지고 접속되는지 알아보자.
하나는 로그인과 디렉토리 검색을 하기위해 사용되는 정보포트와 실제적으로 데이터를 업다운로드하는데 쓰이는 데이터 포트 이다.
FTP 서비스는 패시브모드(Passive-mode)와 액티브모드(Active-mode) 2가지를 지원한다.
클라이언트에서 서버쪽으로 port 명령어를 보내는것으로 랜덤포트를 이용하여 서버 포트로 접속하는 것으로 서버포트는 항상 21번 포트로 접속된다.
따라서 Active 모드 접속시에 문제점이 발생되는 경우는 대부분이 클라이언트측에 있다.
FTP 클라이언트는 서버의 데이터포트로 실제 연결을 생성하지 않고 단지 서버에게 자신이 리스닝하는 포트를 이야기하고 서버 클라이언트가 이야기한 포트로 연결을 맺는다.
이는 서버에 Passive 모드접속을 허용하지 않게끔 설정두어서 생기게되는 경우로 서버설정에 변경없이 꼭접속을 하기를 원한다면 공유기를 떼고 다이렉트로 접속해 보면 된다.
Passive-mode 는 서버쪽 21번 포트로 접속시, 클라이언트의 랜덤포트가 아니라 서버쪽 랜덤포트를 이용하게 된다.
서버는 클라언트에게 pasv 명령어를 보내며, 클라이언트는 승인하게 된다.
이때, 서버쪽에 방화벽을 운영하거나 대량접속서비스가 운영중일때는 네트워크 자원이 부족하게 되어 접속장애가 있을수 있다.
| 응답: 220 (vsFTPd 2.0.5) 명령: USER mojily 응답: 331 Please specify the password. 명령: PASS ********** 응답: 230 Login successful. 명령: SYST 응답: 215 UNIX Type: L8 명령: FEAT 응답: 211-Features: 응답: EPRT 응답: EPSV 응답: MDTM 응답: SIZE 응답: TVFS 응답: 211 End 상태: 접속되었습니다 상태: /DVDRip.XviD.CD1-XXXXX.avi 다운로드 시작 중 명령: PWD 응답: 257 "/" 명령: TYPE I 응답: 200 Switching to Binary mode. 명령: PORT 192,168,0,239,12,13 응답: 200 PORT command successful. 명령: RETR DVDRip.XviD.CD1-XXXXX.avi 응답: 150 Opening BINARY mode data connection for DVDRip.XviD.CD1-XXXXX.avi (162157784 bytes). 응답: 226 File send OK. 상태: 다운로드 완료 명령: PWD 응답: 257 "/" 명령: TYPE A 응답: 200 Switching to ASCII mode. 명령: REST 0 응답: 350 Restart position accepted (0). |
| [root@smileserv src]# netstat -atnp |grep vsftpd tcp 0 0 0.0.0.0:21 0.0.0.0:* LISTEN 21414/vsftpd tcp 0 0 192.168.0.222:21 192.168.0.239:3082 ESTABLISHED 21461/vsftpd tcp 0 127424 192.168.0.222:20 192.168.0.239:3085 ESTABLISHED 21472/vsftpd tcp 0 0 192.168.0.222:21 192.168.0.239:3084 ESTABLISHED 21470/vsftpd |
|
..................................................................................
.................................................................................. .................................................................................. <IIsFtpService Location ="/LM/MSFTPSVC" AdminACL="XXXXXXXX" AllowAnonymous="TRUE" AnonymousOnly="FALSE" AnonymousUserName="IUSR_SERVER-X62W0LSZ" AnonymousUserPass="XXXXXXXXX" ConnectionTimeout="120" DownlevelAdminInstance="1" ExitMessage=" " LogAnonymous="FALSE" LogExtFileFlags="XXXXXXXXX" LogFileDirectory="C:\WINDOWS\system32\LogFiles" LogFilePeriod="1" LogFileTruncateSize="20971520" LogNonAnonymous="FALSE" LogOdbcDataSource="TSLOG" LogOdbcPassword="XXXXXXXXXX" LogOdbcTableName="FTPLog" LogOdbcUserName="InternetAdmin" LogPluginClsid="{FF160663-DE82-11CF-BC0A-00AA006111E0}" LogType="1" MSDOSDirOutput="TRUE" MaxClientsMessage=" " MaxConnections="100000" PassivePortRange="5001-5001" > </IIsFtpService> .................................................................................. .................................................................................. .................................................................................. |
Windows 2000 Server 의 경우는 레지스트리 값을 추가
에서 REG_SZ 타입의 PassivePortRange 값이름을 추가한다.
값으로는, 5500-5700 을 설정한다.
ip_conntrack 은 연결추적 모듈이다. 몇번 IP 가 몇번 포트를 통해서 접속했는지에 대한 정보가 담겨있다.
|
[root@smileserv ~]# cat /proc/net/ip_conntrack
........................................................................................................................
........................................................................................................................
........................................................................................................................
udp 17 27 src=219.78.47.179 dst=111.111.111.241 sport=7957 dport=8630 packets=1 bytes=90 src=111.111.111.241 dst=219.78.47.179 sport=8630 dport=7957 packets=1 bytes=81 mark=0 use=1 udp 17 7 src=58.172.208.159 dst=111.111.111.241 sport=55210 dport=8630 packets=2 bytes=306 src=111.111.111.241 dst=58.172.208.159 sport=8630 dport=55210 packets=2 bytes=411 [ASSURED] mark=0 use=1 udp 17 114 src=111.111.111.1111 dst=222.222.222.22 sport=33181 dport=161 packets=34 bytes=2692 src=222.222.222.22 dst=111.111.111.236 sport=161 dport=33181 packets=34 bytes=2875 [ASSURED] mark=0 use=1 |
패시브 모드를 사용하기 위한 vsftp.conf 설정
[root@smileserv ~]# vi /etc/vsftpd/vsftpd.conf
# You may specify an explicit list of local users to chroot() to their home
# directory. If chroot_local_user is YES, then this list becomes a list of
........................................................................................................................
## => Active Mode로 접근할 수 없는 사용자들을 위해 활성화
pasv_enable=YES
## => 일반적으로 50000~60000 포트를 지정 (기본값 = 0)
## 기본값인 0은 well-known port를 제외한 무작위 포트를 이용하게 됩니다.
pasv_min_port=50000
pasv_max_port=50001
패시브 모드를 사용하기 위한 proftpd.conf
# You may specify an explicit list of local users to chroot() to their home
# directory. If chroot_local_user is YES, then this list becomes a list of
........................................................................................................................
|
[root@smileserv ~]# netstat -atnp |grep vsftpd
tcp 0 0 0.0.0.0:21 0.0.0.0:* LISTEN 21363/vsftpd [root@smileserv ~]# netstat -atnp |grep vsftpd
tcp 0 0 0.0.0.0:21 0.0.0.0:* LISTEN 21363/vsftpd tcp 0 0 192.168.0.222:21 192.168.0.4:3621 ESTABLISHED 21374/vsftpd tcp 0 0 192.168.0.222:21 192.168.0.4:3622 ESTABLISHED 21377/vsftpd [root@smileserv ~]# netstat -atnp |grep vsftpd
tcp 0 0 218.236.115.222:34795 0.0.0.0:* LISTEN 21427/vsftpd
tcp 0 0 0.0.0.0:21 0.0.0.0:* LISTEN 21414/vsftpd tcp 0 0 192.168.0.222:21 192.168.0.4:1090 ESTABLISHED 21422/vsftpd tcp 0 0 192.168.0.222:21 192.168.0.4:1091 ESTABLISHED 21425/vsftpd tcp 0 87765 192.168.0.222:34795 192.168.0.4:1106 ESTABLISHED 21427/vsftpd [root@smileserv ~]# netstat -atnp |grep vsftpd ==> PASV 고정후 데이타 전송중 tcp 0 0 218.236.115.222:50001 0.0.0.0:* LISTEN 21379/vsftpd tcp 0 0 0.0.0.0:21 0.0.0.0:* LISTEN 21363/vsftpd tcp 0 116800 192.168.0.222:50001 192.168.0.4:3666 ESTABLISHED 21379/vsftpd tcp 0 0 192.168.0.222:21 192.168.0.4:3621 ESTABLISHED 21374/vsftpd tcp 0 0 192.168.0.222:21 192.168.0.4:3622 ESTABLISHED 21377/vsftpd |
출처:http://www.1000dedi.net/hosting/smile_bbs/bbs/board.php?bo_table=serverLecture&wr_id=466&sca=&sfl=wr_subject&stx=ftp&sop=and
게시글 목록
| 번호 | 제목 |
|---|---|
| 34292 | |
| 34279 | |
| 34278 | |
| 34264 | |
| 34251 | |
| 34231 | |
| 34196 | |
| 34184 | |
| 34166 | |
| 34151 | |
| 34143 | |
| 34142 | |
| 34134 | |
| 34132 | |
| 34131 | |
| 34125 | |
| 34093 | |
| 34076 | |
| 34060 | |
| 34031 |
댓글 작성
댓글을 작성하시려면 로그인이 필요합니다.
로그인하기