window에서 ftp client로 solaris10 서버에 접속하면 파일, 디렉토리가 안보입니다.
글쓴이: idrukawa / 작성시간: 목, 2010/08/12 - 2:00오후
sol10에 등록된 사용자계정으로 접속을 하면
사용자계정 홈디렉토리로 접속이 됩니다.
접속은 완료되는데 서버의 파일, 디렉토리 목록이 안뜨네요...
다른 solaris 서버들은 잘만 됩니다.
인터넷을 뒤적이다가
/etc/default/init에서 LANG=C로 설정도 해보고,
ftp client에서 Active, Pasive모드로 바꿔도 보았는데
전혀 먹히질 않네요...
다른서버들은 잘되는걸 보면
서버에서 설정문제 같은데...
이거다 싶은게 있으면 사소한거라도 좋으니 알려주세요~
Forums:
ftp passive
현재 문제는 클라이언트가 서버의 ftp-data 포트에 접속을 못하기 때문입니다.
클라이언트가 ftp-data 포트에 접속하는 방법은 active와 passive 두가지가 있습니다.
active 는 서버가 클라이언트에게 접속을 시도하고
passive 는 클라이언트가 서버에게 접속을 시도 합니다.
이미 서버는 ftp 서비스를 이용하기 위해 ftp-contol 포트를 열어 두고 상단 방화벽에서도
허용해 둡니다.
그래서 클라이언트는 ftp 서버에 접속을 할수 있습니다.
그리고 이제 데이터를 전송하거나 데이터 목록을 보기 위해 서버와 클라이언트 간에 ftp-data 세션이
수립되어야 합니다.
여기서 문제가 많이 발생하는데요..
active 모드의 경우 ftp 서버가 자신의 20번 포트를 이용하여 클라이언트의 random 포트에 접속을
시도 합니다.
문제 1) 공유기 환경
- 공유기 환경에서 사용자는 실질적으로 사설 아이피를 사용하고 있고 공유기가 NAT를 해주기
때문에 공인아이피를 달고 WAN 통신을 할수 있습니다.
- 그런데 WAN 구간 에서 사용자에게 세션을 연결 하려고 할때 포트포워딩 및 dst-nat 가
동작 하고 있어야 합니다.
문제 2) 방화벽 환경
- 클라이언트(사용자) 위에 방화벽이 있다면 여기서 차단 됩니다.(정책에 따라 다르지만요)
문제 3) 서버측 방화벽에서 outbound 패킷에 대한 설정 때문에 문제가 발생하기도 합니다.
passive 모드의 경우는 클라이언트가 서버의 passive 포트로 연결을 시도 합니다.
클라이언트는 서버에게 ftp_psvc(잘 생각 안나네요 -_-) 요청을 하게 됩니다.
즉 내게 passive 모드로 접속을 할테니깐 연결할수 있는 포트를 알려달라는거죠
이때 ftp 서버는 passive 포트에 예약 되어있는 포트를 알려줍니다.(예 10000번)
그러면 클라이언트는 ftp 서버의 10000번으로 연결을 시도 합니다.(이때 패시브 포트도 서버 상단 방화벽
에서 open 되어 있어야 합니다.)
이러한 문제들 때문에 보통 passive 모드로 운영해야 별 어려움이 없으실 겁니다.
vsftp 사용하시면
vsftp.conf에
pasv_enable=YES
pasv_min_port=10000
pasv_max_port=10100
이라고 추가 해주시고 재시작 하시면 됩니다.
하셨던데로 클라이언트에서도 passive 모드로 접근하셔야 합니다.
어떤 ftp 서버를
어떤 ftp 서버를 사용하는지 모르겠으나
solaris10에서 기본으로 제공하는 ftp 서버가 구동중입니다.
[root:/] svcs -a | grep ftp
online 13:49:51 svc:/network/ftp:default
vsftp.conf 파일의 경로를 몰라서 아래와 같이 검색했는데 결과가 안나와요ㅎ
[root:/] find / -name '*.conf' | grep ftp
이럴땐 어떤 파일을 수정해줘야 되나요
아래는 ftp접속동안 발생한 Log입니다.
-------------------------------------------------------
상태: 70.11.238.30:21에 연결 중...
상태: 연결 완료. 환영 메시지를 기다리는 중...
응답: 220 dev3.nims FTP server ready.
명령: USER hankyuduk
응답: 331 Password required for hankyuduk.
명령: PASS *********
응답: 230 User hankyuduk logged in.
명령: SYST
응답: 215 UNIX Type: L8 Version: SUNOS
명령: FEAT
응답: 500 'FEAT': command not understood.
상태: 연결됨
상태: 디렉터리 목록 갱신 중...
명령: PWD
응답: 257 "/home/hankyuduk" is current directory.
명령: TYPE I
응답: 200 Type set to I.
명령: PASV
응답: 227 Entering Passive Mode (70,11,238,30,229,132)
명령: LIST
응답: 150 Opening BINARY mode data connection for /bin/ls.
응답: 226 Transfer complete.
명령: PASV
응답: 227 Entering Passive Mode (70,11,238,30,33,49)
명령: LIST -a
응답: 150 Opening BINARY mode data connection for /bin/ls.
응답: 226 Transfer complete.
상태: 디렉터리 목록 갱신 성공
------------------------------------------------------------
마지막에 보면 '디렉터리 목록 갱신 성공'이라는데 디렉토리 목록이 안나와요
훔...
마지막에 226 응답은
전송에 성공하거나 중단되어있을때 나타나는 메시지라 무조건 잘 됬다고 볼수 없습니다.
솔라리스는 자주 다뤄보지 않아서 특별히 어떻게 조언을 드려야 할지 ㅠㅠ
아무리 봐도 ftp 서버 active 모드로 동작중인듯 보입니다만...
흠.. 이 서버가
흠.. 이 서버가 첨부터 이런건 아니고요..
첨에 solaris10만 깔았을때는 잘되던 서버였는데
3개월정도 쓰다보니 어느 순간부터 이런 현상이 발생했거든요..
매일 ftp접속을 한게 아니라 정확히 어느 시점부터 이렇게 됐는지
알 수가 없어서 원복이 불가능한 상태라;;
오랫만에 ftp접속을 하려니 이런 현상이 발생해서 난감한 상황입니다요ㅋ
답변주셔서 감사합니다.
Passive mode 변경방법 찾아볼게요.
하지만.. 이런거 설정 바꾼적이 없어서리;;
댓글 달기