리눅스

Linux FTP 대역폭 제한 방법 (FTP Bandwidth Limit)

FTP서버와 서버(또는 로컬 호스트)간의 파일을 주고 받을 수 있는 파일 전송 프로토콜입니다. 일반적으로 FTP 서버가 열려있다면 FileZillaXftp와 같은 FTP 클라이언트를 통하여 서버 내 파일 시스템에 접근할 수 있습니다.

 

이 때 업로드 또는 다운로드를 하는 데에 있어서 아래와 같은 문제점이 발생할 수 있습니다.

  • 같은 내부 네트워크에서 여러 사람이 동시에 하나의 서버에 접속하는 구조인 경우 (사용량이 많은 경우)
  • 서버의 네트워크 전송 속도가 원활하지 않을 때 다른 서비스에 영향을 끼칠 수도 있는 경우
  • 용량이 작은 여러 파일을 동시에 업로드/다운로드해야 할 경우

 

위 경우에 대해서 무리한 전송 작업이 진행될 경우 자칫하다 서버에 네트워크 부하를 일으킬 수 있으므로 관리자가 서버 내에서 파일 전송에 대한 대역폭을 제한해야 할 수 있습니다.

 

 

Linux FTP 대역폭 제한 방법


일반적으로 대역폭 설정은 FTP 클라이언트의 설정에서 제한하실 수 있습니다. 서버 설정을 건드리지 않고 클라이언트 업로드 및 다운로드 속도를 조정하는 것이며 추후에 서버를 다시 설정해야 할 일이 없으므로 이 방법을 사용하는 것을 권장합니다.

FileZilla를 기준으로 ‘메뉴 모음 – 편집 – 설정 – 전송 – 속도 제한’ 부분에서 아래와 같이 설정하실 수 있습니다.

 

만약 본인이 사용하고 계시는 FTP 클라이언트에서 위 옵션을 지원하지 않는 경우,  vsftpd 데몬 설정을 변경하여 강제로 대역폭을 제한하실 수 있습니다.
(참고 : SFTP 프로토콜은 아래 방법을 사용하실 수 없습니다.)

대역폭을 제한할 서버에 로그인한 후 /etc/vsftpd/vsftpd.conf 파일을 편집합니다. (일부 리눅스 배포판에 따라서 vsftpd.conf 파일의 위치가 다를 수 있습니다.)

$ sudo vim /etc/vsftpd/vsftpd.conf

 

편집기가 열리면 아래 내용을 추가합니다.

 

anon_max_rate=10000000 # 익명 사용자 (0=무제한)
local_max_rate=0 # 로그인한 사용자 (0=무제한)

여기서 anon_max_rate는 익명의 사용자를 뜻하고, local_max_late는 계정으로 로그인된 사용자를 의미합니다. 값은 바이트(Byte) 단위로 입력해주셔야 하며 0일경우 속도에 제한을 주지 않게 됩니다. (즉, vsftpd의 기본 값으로 지정됩니다.)

만약 익명의 사용자에게 대역폭을 제한하고 싶다면 anon_max_rate=1000000 (1MB)로 설정해주시면 됩니다.

 

적용이 완료되었다면 파일을 저장한 후 vsftpd 서비스를 재시작해주셔야 합니다.

$ sudo service vsftpd restart (또는 sudo systemctl restart vsftpd)

 

 

JooTC

안녕하세요. 테크놀로지에 관심이 많은 블로거입니다.

Recent Posts

[iOS] Xcode ‘You do not have required contracts to perform an operation’ 해결

Xcode에서 iOS 애플리케이션을 빌드(Archive)하고 App Store Connect에 앱을 업로드하는 도중, 아래와 같은 에러가 발생하면서 더…

2주 ago

[안드로이드] INSTALL_FAILED_INSUFFICIENT_STORAGE 해결

INSTALL_FAILED_INSUFFICIENT_STORAGE 문제 안드로이드 스튜디오에서 에뮬레이터를 실행하고 개발중인 애플리케이션을 실행하려 하면 로그 창에 아래와 같이 표시되면서…

6개월 ago

Zalgo 텍스트와 이를 방지하는 방법

인터넷 커뮤니티 사이트에서 게시글이나 댓글에 간혹 장난을 목적으로 작성된 특이한 글자를 볼 수 있습니다. 위…

8개월 ago

리눅스 kill, killall 명령어 – 특정 프로세스 종료하기

리눅스 명령어 - kill, killall 리눅스 kill 명령어는 특정 프로세스를 종료해주는 명령어입니다. 백그라운드에서 실행되고 있는…

8개월 ago

JavaScript typeof null이 ‘object’인 이유

JavaScript는 역사가 긴 스크립트 프로그래밍 언어입니다. 세월이 흐르면서 많은 자바스크립트 표준이 만들어졌고, 현재는 많은 문법적…

8개월 ago

Mocha Error: Resolution method is overspecified. 해결 방법

NodeJS 테스트 프레임워크인 Mocha는 비동기 테스트를 지원합니다. 간혹 특정 테스트 스크립트를 작성하고 실행하면 아래와 같이…

8개월 ago