방화벽 설정 명령인 ipfw에는 대역폭 조절을 위한 dummynet 기능을 지원합니다.
dummynet은 다양한 네트웍 인터페이스들을 통과하는 통신들의 대역폭과 대기 용량(queue size)을 제한해서 별도의 설정 사항들을 관리하고 운용할 수 있도록 도와줍니다.
dummynet은 ipfw 프로그램 안에서 실행/설정되기 때문에 자세한 설명과 사용법은 터미널에서 man ipfw로 ipfw 설명서를 불러 내서 TRAFFIC SHAPER (DUMMYNET) CONFIGURATION 부분을 살펴 보시기 바랍니다.
다음은 대략적인, dummynet 설정 예들입니다:
ipfw add pipe 1 tcp from my_ip port 80 to any
ipfw pipe 1 config bw 128KByte/s
위 설정은 포트 번호 80을 통해 들어오고 나가는 모든(any) tcp 통신 속도(bw)를 128KByte/s로 제한합니다.
ipfw add pipe 2 ip from any to any out
ipfw pipe 2 config bw 256Kbit/s queue 10
밖으로 나가는(out) 모든 통신 속도를 256Kbit/s으로 제한하며 대기 통로(queue slot)도 10 개로 제한합니다. (대기 통로의 기본값은 50)
앞에서 설정된 pipe들은 ipfw pipe NN delete로 특정 번호(NN)의 pipe를 지워주거나,
ipfw pipe flush로 모든 pipe들을 지워줄 수 있습니다.