2004-09-14 01:07:19 +00:00
|
|
|
# $FreeBSD$
|
2007-11-11 01:16:51 +00:00
|
|
|
# $OpenBSD: queue2,v 1.4 2006/10/07 04:48:01 mcbride Exp $
|
2004-09-14 01:07:19 +00:00
|
|
|
# advanced queue example.
|
|
|
|
# give interactive ssh traffic priority over ssh bulk transfers (scp, sftp)
|
|
|
|
|
|
|
|
ext_if="dc0"
|
|
|
|
developerhosts="192.168.2.0/24"
|
|
|
|
employeehosts="192.168.0.0/23"
|
|
|
|
|
|
|
|
altq on $ext_if cbq bandwidth 5Mb queue { std, http, mail, ssh }
|
|
|
|
|
|
|
|
queue std bandwidth 10% cbq(default)
|
|
|
|
queue http bandwidth 60% priority 2 cbq(borrow red) { employees, developers }
|
|
|
|
queue developers bandwidth 75% cbq(borrow)
|
|
|
|
queue employees bandwidth 15%
|
|
|
|
queue mail bandwidth 10% priority 0 cbq(borrow ecn)
|
|
|
|
queue ssh bandwidth 20% cbq(borrow) { ssh_interactive, ssh_bulk }
|
2007-11-11 01:16:51 +00:00
|
|
|
queue ssh_interactive bandwidth 25% priority 7
|
|
|
|
queue ssh_bulk bandwidth 75% priority 0
|
2004-09-14 01:07:19 +00:00
|
|
|
|
|
|
|
block return out on $ext_if inet all queue std
|
|
|
|
pass out on $ext_if inet proto tcp from $developerhosts to any port 80 \
|
2007-11-11 01:16:51 +00:00
|
|
|
queue developers
|
2004-09-14 01:07:19 +00:00
|
|
|
pass out on $ext_if inet proto tcp from $employeehosts to any port 80 \
|
2007-11-11 01:16:51 +00:00
|
|
|
queue employees
|
2004-09-14 01:07:19 +00:00
|
|
|
pass out on $ext_if inet proto tcp from any to any port 22 \
|
2007-11-11 01:16:51 +00:00
|
|
|
queue(ssh_bulk, ssh_interactive)
|
2004-09-14 01:07:19 +00:00
|
|
|
pass out on $ext_if inet proto tcp from any to any port 25 \
|
2007-11-11 01:16:51 +00:00
|
|
|
queue mail
|