소개
FTP 서버는 액티브 모드와 패시브 모드를 지원합니다. 패시브 모드는 클라이언트가 서버에 연결할 때 방화벽 및 NAT(Network Address Translation) 환경에서의 문제를 줄이기 위해 사용됩니다. 이 블로그 포스트에서는 패시브 모드를 설정하고, 일반적인 문제를 해결하는 방법을 안내합니다.
패시브 모드란?
패시브 모드는 클라이언트가 서버에 연결할 때, 서버가 클라이언트에게 데이터 전송을 위한 포트 정보를 제공하는 방식입니다. 액티브 모드와 달리, 패시브 모드에서는 클라이언트가 데이터 연결을 설정하므로 방화벽과 NAT 환경에서의 문제를 줄일 수 있습니다.
패시브 모드 설정 방법
1. vsftpd.conf 파일 설정
패시브 모드를 활성화하려면 /etc/vsftpd/vsftpd.conf 파일에서 적절한 설정을 추가해야 합니다.
- 패시브 모드 활성화
- 패시브 모드를 활성화하려면 다음 설정을 추가합니다:
pasv_enable=YES
포트 범위 지정
패시브 모드에서는 서버가 클라이언트에 사용할 포트 범위를 알려줘야 합니다. 다음 설정을 통해 포트 범위를 지정합니다:
pasv_min_port=12000
pasv_max_port=12100
EC2 인스턴스에서 포트 방화벽 설정
AWS EC2에서는 보안 그룹(Security Groups)과 네트워크 ACLs(Network Access Control Lists)를 사용하여 인스턴스의 네트워크 트래픽을 제어합니다. 패시브 모드 포트를 열어주려면 다음 단계를 따르세요.
1. 보안 그룹 설정
- AWS Management Console에 로그인합니다.
- EC2 대시보드에서 '보안 그룹'을 선택합니다.
- 해당 보안 그룹을 선택하고, '인바운드 규칙' 탭을 클릭합니다.
- '편집' 버튼을 클릭하여 인바운드 규칙을 추가합니다:
- 프로토콜: TCP
- 포트 범위: 21, 12000-12100
- 소스: 원하는 IP 범위 (예: 0.0.0.0/0 또는 특정 IP)
- '저장' 버튼을 클릭하여 규칙을 적용합니다.
2. 네트워크 ACLs 설정
- AWS Management Console에 로그인합니다.
- VPC 대시보드에서 '네트워크 ACLs'를 선택합니다.
- 해당 네트워크 ACL을 선택하고, '인바운드 규칙' 탭을 클릭합니다.
- '편집' 버튼을 클릭하여 인바운드 규칙을 추가합니다:
- 소스: 원하는 IP 범위 (예: 0.0.0.0/0 또는 특정 IP)
- 프로토콜: TCP
- 포트 범위: 21, 12000-12100
- 허용: 허용
- '저장' 버튼을 클릭하여 규칙을 적용합니다.
계정의 홈 디렉토리가 디폴트와 다른 경우 아래 포스팅 설정을 적용합니다.