운영체제/Linux

vsftp 접근이 안될 때 ( 에러 : 500 oops vsf_sysutil_bind maximum number of attempts to find a listening port exceeded)

ahgle 2022. 11. 14. 16:11
728x90
반응형

파일질라, winscp 등 FTP 툴을 이용하여 서버로 FTP 접근 시, 또는 접근 후 파일 리스팅, 다운로드 시에 간헐적으로 FTP 접근이 안될 때가 있다.

(vsftpd : very secure ftpd 의 약어로, 리눅스 배포판에서 기본적으로 제공!)

 

FTP 액티브모드와 패시브 모드의 차이는 아래 링크를 통해 확인 가능하다!

https://wowy0211.tistory.com/15

 

이런 경우 서버 내 vsftpd가 패시브 모드로 설정돼있는 지 먼저 확인한다.

 

일반적으로 특별히 설치 경로를 지정하지 않을 때 각종 설정 값이 들어간 conf파일의 경로는 아래와 같다.

/etc/vsftpd/vsftpd.conf 

 

기본적인 PASSIVE 모드 설정 시 설정값이며 내용은 아래와 같다.

 

// 동일한 IP주소에서 이루어지는 데이터 연결을 보장해주는 보안체크 기능을 사용할 것인지. 

   무슨 의미인 지 정확히 와닿지는 않지만, 보통 YES로 사용한다.

pasv_promiscuous=YES  

 

// 패시브모드를 사용할 것인지                                          
pasv_enable=YES

 

// 패시브모드 사용 시 최소 포트 값. 최소값,최대값 모두 0으로 정하면 임의의 포트가 할당된다.
pasv_min_port=5000

 

// 패시브모드 사용 시 최대 포트 값. 최소값,최대값 모두 0으로 정하면 임의의 포트가 할당된다.
pasv_pax_port=7000

 

다시 본론으로 들어가서, 해당 에러가 발생하는 경우는 보통 2개의 경우로 나뉜다.

 

1. 패시브포트가 서버 방화벽에서 오픈돼있지 않아 접근이 불가할 때

2. 패시브용 포트가 부족할 때

 

먼저 서버가 패시브 모드인 지,  /etc/vsftpd/vsftpd.conf  파일의 내용을 확인한다.

위와 같이 패시브모드가 활성화돼있다면 포트를 임의로 더 늘려줘보자.

 

pasv_promiscuous=YES
pasv_enable=YES
pasv_min_port=5000
pasv_pax_port=8000

 

conf파일을 저장한 후  이후 vsftpd 서비스를 재시작해주어 변경한 설정을 적용한다.

# systemctl restart vsftpd

● vsftpd.service - Vsftpd ftp daemon
   Loaded: loaded (/usr/lib/systemd/system/vsftpd.service; enabled; vendor preset: disabled)
   Active: active (running) since Mon 2022-11-14 16:09:56 KST; 5s ago
  Process: 10203 ExecStart=/usr/sbin/vsftpd /etc/vsftpd/vsftpd.conf (code=exited, status=0/SUCCESS)
 Main PID: 10204 (vsftpd)
   CGroup: /system.slice/vsftpd.service
           └─10204 /usr/sbin/vsftpd /etc/vsftpd/vsftpd.conf

 

이후 재 접근을 시도해본다.

 

The record makes me strong.

728x90