본문 바로가기

Linux Distributions

FTP 전송 모드(Active Mode/Passive Mode)

728x90
반응형

FTP 전송 모드(Active Mode/Passive Mode)

FTP (File Transfer Protocol) 서버와 클라이언트 간의 데이터 전송 방식을 제어하기 위해 두 가지 주요 모드가 있습니다. 이러한 모드는 데이터 연결을 어떻게 설정하고 관리할지에 관한 것입니다. 이러한 두 모드는 "Active Mode"와 "Passive Mode"로 알려져 있습니다.

Active Mode (PORT Mode)

  • Active Mode는 클라이언트가 서버에게 데이터 연결을 수립하도록 하는 전통적인 FTP 데이터 전송 모드입니다.
  • 클라이언트는 데이터 포트에 바인딩되며, 서버는 클라이언트가 어떤 IP 주소와 포트로 연결을 수립할 것인지를 클라이언트에게 알립니다.
  • 서버는 클라이언트가 지정한 IP 주소 및 포트로 데이터를 전송합니다.
  • Active Mode는 클라이언트 방화벽의 설정에 영향을 받을 수 있으며, 클라이언트 측에서 서버로 연결을 시작하는 경우가 많습니다.

Passive Mode (PASV Mode)

  • Passive Mode는 서버가 클라이언트로부터의 연결을 받아들이도록 하는 모드입니다.
  • 클라이언트가 PASV 명령을 사용하여 서버에게 데이터 연결을 수립할 것을 요청하면, 서버는 임의의 포트에서 클라이언트에게 연결할 수 있는 허용 가능한 IP 주소와 포트 번호를 알려줍니다.
  • 클라이언트는 서버가 지정한 주소와 포트로 연결을 시도하여 데이터를 수신합니다.
  • Passive Mode는 클라이언트 측에서 서버로부터의 연결을 기다리므로 클라이언트의 방화벽 설정에 미치는 영향이 적습니다.

일반적으로, Passive Mode는 방화벽 뒤에 있는 클라이언트와 함께 사용하기가 더 쉽습니다. Active Mode는 클라이언트 측 방화벽에서 문제를 일으킬 수 있으며, 이러한 이유로 Passive Mode가 더 보편적으로 사용됩니다. 대부분의 FTP 클라이언트 및 서버는 두 모드를 모두 지원하며, 필요에 따라 선택할 수 있습니다.

vsftpd를 사용하여 Active Mode와 Passive Mode를 구현하는 방법

Active Mode 구현 방법

Active Mode는 클라이언트가 데이터 연결을 수립하도록 하는 방식입니다. 이 모드를 구현하려면 다음과 같이 설정 파일을 수정해야 합니다.

1. vsftpd 설정 파일 (vsftpd.conf)을 엽니다.

sudo vim /etc/vsftpd/vsftpd.conf

2. 다음 라인을 추가하거나 수정하여 Active Mode를 활성화합니다.

connect_from_port_20=YES

이 설정은 vsftpd가 포트 20을 사용하여 데이터 연결을 수립하도록 합니다.

3. 설정 파일을 저장하고 에디터를 종료합니다.

4. vsftpd 서비스를 재시작합니다.

sudo systemctl restart vsftpd

Passive Mode 구현 방법

Passive Mode는 서버가 클라이언트로부터의 연결을 받아들이도록 하는 방식입니다. 이 모드를 구현하려면 다음과 같이 설정 파일을 수정해야 합니다.

1. vsftpd 설정 파일 (vsftpd.conf)을 엽니다.

sudo vim /etc/vsftpd/vsftpd.conf

2. 다음 라인을 추가하거나 수정하여 Passive Mode를 활성화합니다.

pasv_enable=YES
pasv_min_port=XXXX
pasv_max_port=XXXX
pasv_address=YOUR_SERVER_IP
  • pasv_enable=YES: Passive Mode를 활성화합니다.
  • pasv_min_port와 pasv_max_port: 클라이언트와 데이터 연결에 사용될 포트 범위를 지정합니다. 필요에 따라 포트 범위를 수정하세요.
  • pasv_address: 서버의 공인 IP 주소를 지정합니다.

3. 설정 파일을 저장하고 에디터를 종료합니다.

4. 설정한 포트 범위를 방화벽에서 허용해야 합니다. 예를 들어, 포트 범위를 50000에서 50100으로 설정한 경우 다음과 같이 방화벽 규칙을 추가할 수 있습니다.

sudo ufw allow 50000:50100/tcp

5. vsftpd 서비스를 재시작합니다.

sudo systemctl restart vsftpd

 

이제 vsftpd는 Active Mode와 Passive Mode를 모두 지원하며, 클라이언트 요청에 따라 사용할 모드를 자동으로 선택합니다. 클라이언트 측에서도 Active Mode 또는 Passive Mode를 설정할 수 있습니다. 이를 통해 FTP 데이터 전송을 보다 효과적으로 관리할 수 있습니다.

 

728x90
반응형