방화벽 & FTP Passive 를 위한 port 에 대한 질문입니다.
방화벽 아래에 있는 서버에서 FTP port 설정에 대한 질문입니다.
일단 방화벽은 상용 방화벽이 앞단에 있습니다.
그리고 하위에 CentOS 가 있고, vsftpd 로 port 를 2006 으로 설정했습니다.
방화벽에서 2006 을 열었구요...
그런데 접속 후 passive 모드로 하든, active 모드로 하든 모두 문제가 생깁니다.
로그인 후 ls 만 해도 응답이 없습니다.
그래서 vsftpd.conf 에서
pasv_enable=YES
을 해도 변화가 없고 NO 로 해도 변화가 없었습니다.
그래서 방화벽에서 2005 포트를 연 다음
pasv_enable=YES
pasv_min_port=2005
pasv_max_port=2006
을 하니 잘 열리고...파일을 한 개만 받을 수 있습니다.
passive 모드에서는 원래 2006 포트 하나를 이용해서 메세지가 전송되고 파일도 전송되는 것이 아니었나요?
방화벽 관리자가 포트를 최소한으로 열라고 하는데...어떻게 하면 2006 포트 하나만 열고 제대로 작동을 할 수 있을까요?
사용하는 사람들의 FTP 클라이언트는 MS IE 와 파일질라 등이고...저는 명령프롬프트에서 ftp 명령을 이용해 접속할 때도 있습니다.
그리고 외부의 다른 linux 로 접속할 때 로그인 직후 바로 passive 명령으로 passive off 를 시킨 뒤 ls 를 하면 리스트가 잘 나오고, passive on 을 하면 ls 로 리스트가 나오지 않고 화면이 멈추어 있는 현상도 있었습니다. 관련이 있는 문제일까요?
조언부탁드립니다.
Quote: passive
그렇지 않습니다. passive모드도 포트 2개를 이용합니다. 단지 어떤 포트를 열 것인가에 대한 처리만 다를 뿐입니다. 또한 데이터가 전송되는 포트는 파일 하나, 메시지 하나가 전송된 후에는 전송할 때 사용한 포트를 다시 사용하지 않습니다.
예를 들어 파일 5개를 전송하려고 하고 첫번째 파일이 2005포트로 전송이 된다면,
file1 : Port 2005
file2 : Port 2006
file3 : Port 2007
file4 : Port 2008
file5 : Port 2009
로 전송을 합니다.
그런데 설정에서 제어포트를 2006으로 설정하고 Passive 연결용 포트로 2005, 2006를 설정했다면 실제로 사용할 수 있는 포트는 2005 하나뿐이기 때문에 파일 전송을 1개만 할 수 있게 되는 것입니다.
기본 포트로 2005를 지정하고 passive포트로 2006부터 2015까지를 사용하는 방식으로 처리하시면 마지막에 적은 문제도 해결될 것이고 파일 전송도 10개까지 동시 전송이 가능하게 됩니다.
-----------------
한 걸음 더 가까이
실행착오 끝에 답변
실행착오 끝에 답변 올려주시기 직전에 그 사실을 깨달았습니다. -_-;
그렇다면, 방화벽을 크게 열지 않으려면 오히려 passive 모드를 끄고 20, 21 포트만 열어두는게 맞는 것이겠군요?
ftp 포트 변경을 21->2121 로 하더라도 20 와 2121 을 열어두어야 하는 것인가요?
조언 부탁드립니다. ^^;;;
댓글 달기