Windows Azure Virtual Machine을 위한 FileZilla Server 방화벽 설정법

안녕하세요. Windows Azure MVP 남정현입니다.


오늘 살펴보려는 내용은 Windows Azure Virtual Machine 환경에서 FileZilla Server를 구축하려는 경우 어떻게 해야 파일 전송 채널들을 열 수 있는지 그 방법을 살펴보려고 합니다. FileZilla Server는 기본적으로 FTP (File Transfer Protocol)를 구현하는 서버이며 무료로 사용 가능한 서버이고 다양하고 풍부한 기능을 제공하면서도 안정적으로 작동해서 많은 곳에서 널리 사용되고 있습니다.


우선 FTP 서버가 어떻게 동작하는지 잠시 상기해볼 필요가 있습니다. FTP 서버는 기본적으로 명령어를 주고 받기 위한 채널 포트인 21번 포트가 가장 핵심이 됩니다. 최초의 연결도 이 21번 포트를 시작으로 이루어지고 이후에 모든 데이터 전송은 별도의 포트를 통해서 이루어지게 됩니다. FTP 서버를 방화벽 뒤에 배치하는 것이 왜 까다로운가 하면 바로 이러한 FTP의 설계 때문입니다. 데이터 전송을 위한 포트를 FTP 서버의 사용량에 맞추어 개방을 해야 하기 때문입니다. 그래서 서버가 사전에 TCP 포트 대역을 정해놓고 지정된 범위에서만 데이터 전송을 위한 채널을 제공하는 Passive Mode가 많이 사용됩니다.


1단계: FileZilla Server Passive Mode 설정


기본적으로 Passive Mode를 사용하는 것은 특이 사항이 없습니다만, Windows Azure Virtual Machine의 경우 Windows Azure Virtual Machine이 제공하는 기본 방화벽과 Windows Server의 기본 방화벽, 그리고 FileZilla Server만을 위한 특별한 설정이 더해져야 하기 때문에 따로 아티클로 정리할 필요가 있어 이번 글을 작성하게 되었습니다.


FileZilla 서버에 사용자 계정을 등록하고 홈 디렉터리를 설정하는 방법은 생략하겠습니다. 이 과정이 되어있어야 실제 접속과 테스트가 가능하니 설정되어있지 않은 경우 반드시 사용자 계정과 홈 디렉터리 설정을 먼저 해주셔야 합니다. 이 설정이 끝난 상태에서, FileZilla Server Options 페이지로 들어가서 아래 그림과 같이 Passive Mode Settings 항목을 클릭하여 주십시오.




위의 그림에 나타난 것 처럼, 다음의 설정 사항들을 확인하여 적절히 수정해야 합니다.



  • Use Custom Port Range: 체크하시고 적절한 포트 대역을 지정합니다. Windows Server 및 Windows Azure Virtual Machine의 방화벽 설정에 모두 등록되지 않은 대역을 지정합니다. Windows Azure Virtual Machine의 방화벽 설정은 범위 설정이 아니라 1개 포트씩 따로 등록하도록 되어있고 등록과 할당에 시간이 걸리니 이를 감안하시어 2개~3개 정도의 포트만 개방하는 것이 작업 시간 단축에 도움이 됩니다.

  • IPv4 specific 아래의 Retrieve external IP address from: 기본값은 이 항목으로 설정되어있습니다. 그러나 간혹 이 설정으로 IP 주소를 얻어올 수 없는 경우, Use the following IP 항목의 라디오 버튼을 체크하고 이 서비스에 접속할 수 있는 외부 IP 주소 (Virtual IP)를 직접 설정하거나 FQDN을 지정하여 문제를 해결할 수 있습니다.

  • Don’t use external IP for local connections: 이 항목도 체크합니다.

2단계: Windows Server 방화벽 구성

위와 같이 설정이 끝나면, Windows 방화벽 설정으로 이동하여 방화벽에 FileZilla Server 프로그램 자체를 허용 대상에 추가하여 주십시오. Windows Server 64비트 버전을 사용하게 되실 것이므로 아래 경로를 지정하시면 됩니다.


%PROGRAMFILES(X86)%FileZilla ServerFileZilla server.exe


정상적으로 등록이 되면 아래 그림과 같이 속성에 나타날 것입니다.



3단계: Windows Azure Virtual Machine 방화벽 설정


1단계에서 설정한 포트 대역의 각 포트 번호들과 TCP 21번 포트를 빠짐없이 Windows Azure Virtual Machine 방화벽 설정으로 가서 개방해야 밖에서 데이터 전송이 가능합니다.



위 그림에서 보시는 것과 같이 Passive 포트 대역을 모두 TCP 포트 번호로 지정하여 공용 포트와 개인 포트 번호를 일치시켜주고, 최종적으로 21번 포트를 지정하면 됩니다. 여기서는 Secured FTP를 위하여 별도 포트 번호를 지정하였습니다만 상황에 맞게 설정해주시면 문제 없습니다.


4단계: 접속 및 파일 송수신 테스트


정상적으로 접속과 파일 송수신이 이루어지는지 다시 한 번 확인합니다. 클라이언트의 경우 아래 그림과 같은 모습으로 진행이 이루어져야 합니다.



서버의 경우 아래 화면처럼 로그가 나타나게 될 것입니다.




다른 FTP 서버에 대한 설정도 지금 설명한 사항들을 점검하여 설정을 업데이트하면 Virtual Machine에서 정상적인 FTP 서비스 구축이 가능할 것입니다.

댓글 남기기