SharedIT | 묻고 답하기(AMP)

리눅스 vsftp 접속시 문제 질문드립니다.

현재 저희 회사에서 운영중인 FTP서버가 있습니다.

현재 운영중인 FTP서버를 신규 FTP서버로 이관할 예정이구요.

기존 운영중인 FTP서버 구성은 아래와 같이 되어 있습니다.

         FTP서버 내부IP <ㅡㅡㅡ NAT ㅡㅡㅡ> 외부IP  <ㅡㅡㅡㅡ> 클라이언트

클라이언트 쪽에서 외부 공인IP로 접속해 필요한 데이터를 받는 형식으로 구성되어 있습니다.

그런데, 현재 신서버에 내부, 외부 임시 IP로 테스트환경 구성 후 접속 테스트를 진행 중인데 잘 안되네요..

  • 현상

  • 1.저의 인터넷PC에서 외부IP로 FTP 접속 및 데이터 다운로드는 잘 됨

  • 2.서버 접속PC에서 내부IP로 FTP 접속은 잘 되지만, ls 명령어 입력시 파일 목록이 안보임

  • 3.서버 접속PC에서 내부IP로 알ftp로 엑티브 모드로 접속시, 접속은 되지만 파일 목록이 안보임

  • 4.서버 접속PC에서 내부IP로 알ftp로 패씨브 모드로 접속시, 접속 및 파일 목록, 다운 다 잘 됨

  • 5.다른 외부 클라이언트 환경에서 접속을 하면, FTP 접속은 되지만 파일 목록 및 다운로드 안됨

  • 6.기타 내부 다른서버에서 ftp로 접속하면 잘됨

간단하게 말씀을 드리자면, 클라이언트 환경에서 접속이 되는 곳도 있고 안되는 곳이 있습니다.

클라이언트 쪽에서 방화벽 체크 다 완료했고, 서버쪽에서 체크할 수 있는 selinux 관련 옵션들(ftp_home_dir, ftpd_use_passive_mode 기타 등등), vsftpd.conf 파일 설정 체크 모두 확인했습니다.

이상한게 클라이언트 환경마다 바로 ftp 접속시 되는 구간이 있고 안되는 구간이 있네요..

또 알FTP로 엑티브모드로 접속할때는 접속은 되는데 파일 목록 및 다운이 안되고,

패시브모드로 접속할때는 접속 및 다운 모두 다 잘 됩니다.. 

위에 내용을 다시 종합을 해보자면,

엑티브모드로 접속시

  • 1.FTP서버 접속은 되나, 파일 목록 출력이 안됨

  • 2.클라이언트 쪽에서 접속이 되는 곳이 있고, 안되는 곳이 있음

https://kensei.co.kr/77  <ㅡ 여기 링크에 나온 현상과 거의 일치함니다)


그래서, 해보려고 하는 것이

현재 운영중인 FTP서버 네트워크환경을 신서버에 그대로 설정해서 되는지 체크를 해보려고 합니다.

아니면 혹시 다른 문제점이나 방안이 있는지 답변 부탁드리겠습니다..

Tags : 태그가 없습니다.

3개의 답변이 있습니다.

thewon
  0 추천 | 3년 이하 전

NAT 모드일때 Pasv 모드로 FTP 전송시 방화벽에서 포트 차단이 발생될수 있습니다.

반면에 Aciv 모드일때는 전송중일때 포트 점유때문에 추가 전송이 불가하다는 단점이 있습니다.

포트포워딩이 아닌 서버IP를 DMZ/Route 설정으로사용하시면 잘되실꺼에요~

gIoop | 3년 이하 전

위에도 질문에 언급했지만, 그러면 기존에 운영중이던 FTP서버 네트웍 설정을 신규 서버로 그대로 적용하면 서비스가 가능할까요?

기존에 운영중이던 FTP서버의 IP는 저희 방화벽 장비에 정책같은건 다 설정이 되어있는 상태고, FTP서비스 또한 잘 되고 있는데,

현재 신규 서버에 그대로 IP설정을 하면 잘 되겠죠?

기존의 클라이언트 쪽 아이피는 변경되지 않습니다.

빨간신발
  0 추천 | 3년 이하 전

같은 네트워크면 액티브모드를 사용해도 큰 무리는 없지만..

다른 네트워크나 중간에 방화벽이라도 있으면 패시브모드를 사용을 합니다.

서버와 클라이언트만 패시브모드로 하는 것은 아니고 

중간에 방화벽도 패시브모드에 맞게 설정을 해주셔야 원활한게 사용이 가능합니다.

ftp는 보안상 문제도 있고 지금처럼 다른 네트워크나 방화벽으로 인해 통신이 어려운 경우가 많습니다.

그래서 sftp 사용을 추천드려요...

sftp는 액티브/패시브 이런거 없고.. 사용 포트 1개만 개방되면 됩니다.

Genghis Khan | 3년 이하 전

맞아요 요즘 ftp는 보안 이슈 때문에

사용을 안하죠

sftp를 사용하는게 맞습니다

wansoo
  0 추천 | 3년 이하 전

유사한 질문이 여러번 올라 온 내용이긴 한데요...

FTP는 제어를 위한 연결과 데이터 전송을 위한 연결 2가지 채널로 통신을 하게 됩니다.

클라이언트가 서버에 제언 채널을 통해서 먼저 접속을하게 되고요.

그럼, 서버가 데이터 전송을 위한 채널을 열어서 클라이언트 쪽으로 다시 연결을 하게 됩니다.

서버가 클라이언트가 되고, 클라이언트가 서버가 되는 현상이 발생하게 되는 것이 됩니다.

클라이언트가 외부에서 접속 가능한 상태라면 통신에 문제가 없지만, 사설 IP를 가지고 있거나 방화벽 등에 의해서 외부 접속이 차단되어 있는 상태라면 FTP 서버의 데이터 채널 접속 시도가 막히게 되어 데이터 전송을 하지 못하게 됩니다.

접속은 되지만 ls 명령이나 put, get 등의 명령을 수행할 수 없는 상태가 되는 것이죠.

이런 이유때문에 기본 모드인 액티브 모드가 아닌 패시브 모드를 사용해서 통신을 하게 되는 것이고요.


패시브 모드를 사용하는 걸 권장하고 싶네요.

아니면 접속하는 클라이언트가 외부에서 접속 가능한 공인 IP를 사용하는 환경으로 하거나 포트 포워딩 등으로 접속가능하게 해 주어야 하겠고요. 방화벽에서도 차단되지 않게 열어 줘야 하겠고요.

gIoop | 3년 이하 전

위에도 질문에 언급했지만, 그러면 기존에 운영중이던 FTP서버 네트웍 설정을 신규 서버로 그대로 적용하면 서비스가 가능할까요?

기존에 운영중이던 FTP서버의 IP는 저희 방화벽 장비에 정책같은건 다 설정이 되어있는 상태고, FTP서비스 또한 잘 되고 있는데,

현재 신규 서버에 그대로 IP설정을 하면 잘 되겠죠?

기존의 클라이언트 쪽 아이피는 변경되지 않습니다.

wansoo | 3년 이하 전

신규 서버나 기존 서버나 동일한 상태일걸로 보여 지는데요..

클라이언트들에 변경이 있는 것이 아닐테고...

vsftpd.conf에서 양쪽 서버에 동일하게 설정하고 vsftpd 서비스를 재 시작해 준다면, 양쪽 서버가 동일한 상황이 될거라 생각됩니다.

참고로...

vsftpd.conf의  아래 값 설정이 양쪽에 동일하게 설정되어있는지 다시 확인해 보시고요~

pasv_enable=Yes

pasv_min_port=

pasv_max_port=