Trickle이있는 Linux 시스템의 응용 프로그램에서 사용하는 네트워크 대역폭을 제한하는 방법


하나의 애플리케이션이 모든 네트워크 대역폭을 지배하는 상황을 경험 한 적이 있습니까? 하나의 응용 프로그램이 모든 트래픽을 소비하는 상황에 처한 적이 있다면 세류 대역폭 셰이퍼 응용 프로그램의 역할을 중요하게 생각할 것입니다. 시스템 관리자이거나 Linux 사용자라면 네트워크 대역폭이 단일 응용 프로그램에 의해 소모되지 않도록 응용 프로그램의 업로드 및 다운로드 속도를 제어하는 방법을 배워야합니다.

물방울은 무엇입니까?

Trickle은 응용 프로그램의 업로드 및 다운로드 속도를 관리하여 응용 프로그램 중 하나가 사용 가능한 대역폭을 모두 (또는 대부분) 차지하는 것을 방지 할 수있는 네트워크 대역폭 셰이퍼 도구입니다. 간단히 말해서 트리클을 사용하면 클라이언트-서버 환경에서 대역폭 형성의 고전적인 예인 사용자 별 제어와 달리 애플리케이션별로 네트워크 트래픽 속도를 제어 할 수 있습니다. 익숙합니다.

물방울은 어떻게 작동합니까?

또한 세류는 애플리케이션별로 우선 순위를 정의하는 데 도움이 될 수 있으므로 전체 시스템에 대해 전체 제한이 설정되어있는 경우 우선 순위 앱이 자동으로 더 많은 대역폭을 확보 할 수 있습니다. 이 작업을 수행하기 위해 트리클은 TCP 연결을 사용하여 소켓에서 데이터를 보내고받는 방식으로 트래픽 제한을 설정합니다. 데이터 전송 속도를 제외하고 세류는 주어진 순간에 형성되는 프로세스의 동작을 어떤 식 으로든 수정하지 않습니다.

트리클이 할 수없는 일은 무엇입니까?

말하자면, 동적 연결 및로드를 사용하여 셰이핑 된 프로세스와 관련 네트워크 소켓 사이에 위치하기 때문에 트리클이 정적으로 연결된 응용 프로그램이나 SUID 또는 SGID 비트가 설정된 바이너리에서는 작동하지 않는다는 것입니다. 그런 다음 Trickle은이 두 소프트웨어 구성 요소 간의 프록시 역할을합니다.

트리클을 실행하기 위해 수퍼 유저 권한이 필요하지 않기 때문에 사용자는 자신의 트래픽 제한을 설정할 수 있습니다. 바람직하지 않을 수 있으므로 시스템 사용자가 초과 할 수없는 전체 제한을 설정하는 방법을 살펴 보겠습니다. 즉, 사용자는 여전히 자신의 트래픽 속도를 관리 할 수 있지만 항상 시스템 관리자가 설정 한 범위 내에 있습니다.

이 기사에서는 세류가있는 Linux 서버의 애플리케이션에서 사용하는 네트워크 대역폭을 제한하는 방법을 설명합니다. 필요한 트래픽을 생성하기 위해 클라이언트 (CentOS 7 서버 – dev1 : 192.168.0.17)에서 ncftpput 및 ncftpget (두 도구 모두 ncftp를 설치하여 사용 가능) 및 서버 (Debian Wheezy 7.5 – dev2 : 192.168. "0.15) 데모 목적으로. "동일한 지침이 RedHat, Fedora 및 Ubuntu 기반 시스템에서도 작동합니다.

1. RHEL/CentOS 7/6의 경우 EPEL 리포지토리를 활성화합니다. EPEL (Extra Packages for Enterprise Linux)은 Fedora 프로젝트에서 유지 관리하는 고품질 무료 및 오픈 소스 소프트웨어의 저장소이며 Red Hat Enterprise Linux 및 CentOS와 같은 스핀 오프와 100 % 호환됩니다. 이 저장소에서 trickle과 ncftp를 모두 사용할 수 있습니다.

2. 다음과 같이 ncftp를 설치합니다.

# yum update && sudo yum install ncftp		[On RedHat based systems]
# aptitude update && aptitude install ncftp	[On Debian based systems]	

3. 별도의 서버에 FTP 서버를 설정합니다. FTP는 본질적으로 안전하지 않지만 파일 업로드 또는 다운로드시 보안이 필요하지 않은 경우 여전히 널리 사용됩니다. 이 기사에서는 트리클 현상금을 설명하고 클라이언트의 stdout에 전송률을 표시하기 때문에이를 사용하고 있으며 다른 날짜와 시간에 사용해야하는지 여부에 대한 논의는 남겨 둘 것입니다.

# yum update && yum install vsftpd 		[On RedHat based systems]
# aptitude update && aptitude install vsftpd 	[On Debian based systems]

이제 다음과 같이 FTP 서버에서 /etc/vsftpd/vsftpd.conf 파일을 편집합니다.

anonymous_enable=NO
local_enable=YES
chroot_local_user=YES
allow_writeable_chroot=YES

그런 다음 현재 세션에 대해 vsftpd를 시작하고 향후 부팅시 자동으로 시작되도록 활성화해야합니다.

# systemctl start vsftpd 		[For systemd-based systems]
# systemctl enable vsftpd
# service vsftpd start 			[For init-based systems]
# chkconfig vsftpd on

4. 원격 액세스를 위해 SSH 키가있는 CentOS/RHEL 7 드롭 릿에서 FTP 서버를 설정하기로 선택한 경우, 루트 외부에 원하는 콘텐츠를 업로드 및 다운로드하기위한 적절한 디렉토리 및 파일 권한이있는 암호로 보호 된 사용자 계정이 필요합니다. 홈 디렉토리.

그런 다음 브라우저에 다음 URL을 입력하여 홈 디렉토리로 이동할 수 있습니다. FTP 서버에서 유효한 사용자 계정과 암호를 입력하라는 로그인 창이 나타납니다.

ftp://192.168.0.15

인증이 성공하면 홈 디렉토리의 내용이 표시됩니다. 이 자습서의 뒷부분에서 해당 페이지를 새로 고쳐 이전 단계에서 업로드 된 파일을 표시 할 수 있습니다.