ftp에서 passive 접속이 안되는 경우 > 그누4 질문답변

그누4 질문답변

그누보드4 관련 질문은 QA 로 이전됩니다. QA 그누보드4 바로가기
기존 게시물은 열람만 가능합니다.

ftp에서 passive 접속이 안되는 경우 정보

ftp에서 passive 접속이 안되는 경우

본문

불당님께 약속한 포인트를 드리는 목적이크고, 
다른 분들께서 불쾌해하실 것이 염려되서 간단한 질문을 드립니다.
이마저도 좀 취지에 맞지않을 수 있을까 염려되네요.
 
 
 
1. 서버의 ftp 접속시 패시브모드로 접속해야만 파일업로드가 됩니다.
    집 컴퓨터는 안그러는데 여기 사무실 컴퓨터가 그러네요.
    컴퓨터의 보안설정이 문제인가요. 서버에서 패시브모드를 허용치 않아서 그런건가요
    후자라면 설정방법이 있을까요?
 
2. ftp접속시 패시브 모드로는 접속이 안되는 서버가 있습니다. 서버에서 액티브모드만 허용하고 패시브모드는 허용치 않게 설정해서 그런 것 같은데 맞는지요? 그렇다면 허용가능하게 하는 방법이 있을까요?
 
 
불당님 아시는 부분만 간단하게 코멘트 부탁드려요.
 

댓글 전체

네이버 지식인에서 퍼온 것 입니다. 시스템 관련 사항은 네이버 지식인에 꽤 잘 정리되어 있어요

---
ftp서비스 active모드와 passive모드 설정

iptables -A FORWARD -p tcp --dport 20 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -p tcp --dport 20 -m state --state ESTABLISHED -j ACCEPT
iptables -A FORWARD -p tcp --sport 1024:65535 --dport 1024:65535 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -p tcp --dport 21 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT


불편함을 참더라도 1024:65535 를 사용하지 않으려면 ftp 클라이언트 사용자들이 ftp 서버에 접속후 passive 모드를 끈후 사용하면 됩니다. 이경우 일부 gui 환경의 ftp 클라이언트 프로그램에서 문제가 될수도 있습니다.(passive 꺼도 않됨)
passive 모드를 끄는 방법은 ftp 에서는 pass, ncftp 에서는 set passive off 이렇게 하면 되구요... 기타 다른 ftp에서는 각자 알아서 하시길...



---

원래 ftp는 21번 포트로 command 를 보내고 20번 포트로 데이타를 보냅니다.

이러한 관점에서 어떤 포트를 사용하느냐 어떤식으로 접속을 하느냐에 따라 passive mode ftp와 non-passive mode(Active mode) ftp로 나뉩니다.

그럼 non-passive(Active) mode를 살펴보면 다음과 같습니다.

client와 서버간의 통신으로 살펴 보면

client는 임의포트를 소스로 하여 목적지 포트가 21번으로 접속을 시도합니다.
이렇게 서버의 21번 포트로 접속을 한 후 로그인을 하면 client는 어떤 포트로 접속을 해도 되는지를 서버에 알려주게되고 이때 서버는 소스를 20번 포트로 하여 client에서 지정된 포트로 접속을 시도합니다.
그 다음 그 포트(20번을 소스로하여 client가 알려준)로 데이타를 보내게 됩니다.

passive mode ftp는 이와 좀 다른데 21번으로 서버에 접속을 한 후 서버가 알려준 임의의 포트로 클라이언트가 다시 접속하는 방식으로 데이타 포트가 연결됩니다.

이 두가지의 차이점은 data 포트의 연결에 있어서 누가 시작을 하느냐 입니다.

일반적으로 방화벽이 있는 경우 방화벽에서는 안에 있는 클라이언트가 나가는 것은 가능하지만 외부에 있는 서버가 들어오는 것은 불가능 합니다.

그렇기 때문에 데이타 포트 역시 클라이언트가 시작해야 하는 경우이죠
그래서 방화벽이 있는 경우에는 passive mode를 사용하여야 합니다.
> 2. ftp접속시 패시브 모드로는 접속이 안되는 서버가 있습니다. 서버에서 액티브모드만 허용하고 패시브모드는 허용치 않게 설정해서 그런 것 같은데 맞는지요? 그렇다면 허용가능하게 하는 방법이 있을까요?

내부 네트웍에서는 passive와 active를 허용하는데, 외부 네트웍에서의 접근은 active만 허용하는 서비스 때문에 몇개월 고생한적있는데...
서비스의 특성 때문에 서버쪽에서는 해결책을 제공하지 못해서  client 프로그램쪽에서 ftp 모듈을 변경해야만 했습니다.

혹시 자바 프로그램이라면 "Jakarta Commons Net"을 구경해보세요.
http://jakarta.apache.org/commons/net/
전체 66,554 |RSS
그누4 질문답변 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1402호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT