서버상에서 Network Bandwidth(네트워크 대역폭)을 제한할수 있

kjd2338의 이미지

현재 홈페이지를 돌리고 있는데요...
영화 팬사이트인지라.....
호스팅을 받자니 제약이 너무 크네요..... :(
그래서 이번에 아예 자체 서버를 쓸까 합니다....
그래서 서버호스팅업체를 알아 보았는데요....
보통은 3MBPS가 제한 대역폭이더군요...
그래서 추가요금을 절약해보고자 아예 서버에서 원천적으로 차단하고 싶은데....
어떻하지요?
인터넷에 여러곳을 찾아봤는데 방법이 없네요....
알려주세요.... :?:

cohuman1의 이미지

이거 제가 예전에 했던 질문인데...
http://bbs.kldp.org/viewtopic.php?t=25887&highlight=
참고하세요..
전 어려워서 무슨 말인지 모르겟어요;;

아직 초보라서 질문조차도 엉성할 수 있습니다.
이해하시구요.^^.
제 글을 읽어주시는 분들, 답변해주시는 분들께 항상 감사드립니다.

ez8의 이미지

리눅스에서는 QoS 넣고 설정하라던데, 실제로는 안해봐서

잘모르겠고, 프비라면 dummynet 넣고 ipfw 잘 설정해주면

됩니다.

ai의 이미지

제가 쓰는 설정입니다. 연구실 전체에 할당된 대역폭이 넉넉하지 않기 때문에 ftpd 에 대해서만 제한을 하고 있습니다. 우선 kernel 이 qos 관련 부분을 사용할 수 있도록 다시 컴파일하거나 모듈로 올려두어야 합니다.

REAL_BW='10Mbit'
FTP_BW='2Mbit'
NIC='eth0'
PUREFTPD_PORT_LOW="10000"
PUREFTPD_PORT_HIGH="12000"
/sbin/tc qdisc add dev ${NIC} root handle 1: cbq bandwidth ${REAL_BW} avpkt 1000
/sbin/tc class add dev ${NIC} parent 1: classid 1:1 cbq bandwidth ${REAL_BW} rate ${REAL_BW} maxburst 5 avpkt 1000
/sbin/tc class add dev ${NIC} parent 1:1 classid 1:10 cbq bandwidth ${REAL_BW} rate ${FTP_BW} maxburst 5 avpkt 1000 bounded
/sbin/tc qdisc add dev ${NIC} parent 1:10 sfq quantum 1514b
/sbin/tc filter add dev ${NIC} parent 1: protocol ip handle 1 fw flowid 1:10
/sbin/iptables -t mangle -A OUTPUT -p tcp --sport ftp-data -j MARK --set-mark 1
/sbin/iptables -t mangle -A OUTPUT -p tcp --sport ${PUREFTPD_PORT_LOW}:${PUREFTP_PORT_HIGH} -j MARK --set-mark 1

방화벽에 이렇게 설정해 주었고 pure-ftpd 에서

PassivePortRange          10000 12000

현재 상태를 보면

# tc class show dev eth0
class cbq 1: root rate 10Mbit (bounded,isolated) prio no-transmit
class cbq 1:10 parent 1:1 leaf 800b: rate 2Mbit (bounded) prio no-transmit
class cbq 1:1 parent 1: rate 10Mbit prio no-transmit

필요하다면 outbound traffic 전체에 대해 제한할 수도 있을 것입니다. 아래 문서를 참고하세요.

http://lartc.org/howto/

War doesnt determine whos right, just whos left.