4. CBQ 를 이용해 대역폭을 소비하는 다른 프로토콜들 다루기

랜 사용자가 냅스터 또는 리얼오디오를 사용한다면 3 장에 따라 행한 작업을 손상시킬 수 있음을 유념해야 한다. 또한 3.3 절에서 ftp 트래픽을 막지 않았음을 유념해야 한다.

이는 다운로딩을 직접적이 아닌 간접적으로 제한함으로써 달성할 것인데 인터넷 디바이스와 랜 디바이스가 각각 ppp0eth0 라면 eth0 인터페이스에서 나가는 트래픽을 제한함으로써 ppp0 로 들어오는 트래픽을 제한할 것이다.

이를 행하기 위해서는 CBQ 와 cbq.init 스크립트에 익숙해져야 할 것이다. 이는 ftp://ftp.equinox.gu.net/pub/linux/cbq/ 에서 얻을 수 있는데cbq.init-v0.6.2 를 다운로드받아 이를 /etc/rc.d/ 디렉토리내에 놓아라.

iproute2 를 설치할 필요가 있는데 이는 모든 리눅스 배포판에 포함되어 있다.

/etc/sysconfig/cbq/ 디렉토리를 살펴보면 cbq.init 과 함께 작동해야 하는 파일들의 예가 있는데 없다면 아마도 이를 커널내에 컴파일하지 않은 것이다.

4.1. FTP

3 장에서 업로드를 할 수 있도록 그리고 버그가 있는 IE5.5 사용자들이 ftp 디렉토리를 브라우징할 수 있도록 하기 위한 두가지 이유로 인해 ftp 를 막지 않았다. 결국 웹 브라우저와 ftp 프로그램들은 스퀴드 프록시를 통해 다운로드를 해야 하며 ftp 업로드/이름바꾸기/삭제는 IP 매스쿼레이드를 통해 행해져야 한다.

/etc/sysconfig/cbq/ 디렉토리에 cbq-10.ftp-network 라 불리는 파일을 생성한다:

# touch /etc/sysconfig/cbq/cbq-10.ftp-network

다음의 라인들을 파일에 추가한다:

DEVICE=eth0,10Mbit,1Mbit
RATE=10Kbit
WEIGHT=1Kbit
PRIO=5
RULE=:20,192.168.1.0/24
RULE=:21,192.168.1.0/24

cbq.init-v0.6.2 파일내에서 이러한 라인들의 설명을 볼 수 있다.

/etc/rc.d/cbq.init-v.0.6.2 스크립트를 구동할 때 이 스크립트는 /etc/sysconfig/cbq/ 에 있는 설정을 읽어들일 것이다:

# /etc/rc.d/cbq.init-v.0.6.2 start

모든 것이 작동하고 있다면 /etc/rc.d/cbq.init-v.0.6.2 start 를 초기화 스크립트에 추가하는데 보통 이는 /etc/rc.d/rc.local 일 것이다.

이 명령때문에 서버는 ftp 데이타를 10kbits/s 보다 빠른 eth0 를 통해 전송하지 않을 것이며 따라서 ftp 데이타를 10kbits/s 보다 빠르게 다운로드하지 않을 것이다. 랜 사용자들은 ftp 다운로드에는 스퀴드 프록시를 사용하는 것이 더욱 효율적임을 알게 될 것이며 또한 버그가 있는 IE5.5 를 사용해 ftp 디렉토리를 브라우징할 수 있을 것이다.

IE5.5 에는 또한 다른 버그가 있다 - ftp 디렉토리에서 파일에 마우스 오른쪽 버튼을 클릭해 '폴더로 복사하기' 를 선택할 때 파일은 프록시가 아닌 IP 매스쿼레이드를 통해 직접적으로 다운로드되어 지연풀 기능이 있는 스퀴드를 생략한다는 것이다.

4.2. 냅스터, 리얼오디오, 윈도우미디어 및 other issues

개념은 ftp 에서와 동일한데 단지 다른 포트를 추가해 다른 속도를 설정하는 것이다.

/etc/sysconfig/cbq/ 디렉토리에 cbq-50.napster-network 을 생성한다:

# touch /etc/sysconfig/cbq/cbq-50.napsterandlive

다음의 라인들을 파일에 추가한다:

DEVICE=eth0,10Mbit,1Mbit
RATE=50Kbit
WEIGHT=5Kbit
PRIO=5
#윈도우 미디어 플레이어
RULE=:1755,192.168.1.0/24
#리얼 플레이어는 TCP 포트 554 를 사용하며 UDP 의 경우는 다른 포트를 사용한다
RULE=:554,192.168.1.0/24
RULE=:7070,192.169.1.0/24
#냅스터는 포트 6699 와 6700 또는 아마 다른 포트를 사용한다?
RULE=:6699,192.168.1.0/24
RULE=:6700,192.168.1.0/24
#오디오갤럭시는 41000 근처의 포트를 사용하며 이 포트들은 많이 있다
#따라서 모든 포트 목록을 열거하지 않음을 명심해라
RULE=:41060,192.168.1.0/24
RULE=:41133,192.168.1.0/24
#어떤 영리한 사용자들은 냅스터, 오디오갤럭시 등을 사용할 때 SOCKS 서버에
#연결할 수 있는데 자신의 SOCKS 프록시를 작동할 때는 좋은 생각이다
RULE=:1080,192.168.1.0/24
#원하는 다른 포트를 추가해라; IPTraf 를 사용해 프로그램들이 사용하는 포트를 쉽게
#검사할 수 있다
#RULE=:port,192.168.1.0/24