El siguiente ejemplo presenta como puede configurarse un servidor NAT para controlar ancho de banda de diversos computadores de la red interna. La conexión de la red interna es a 100MB, mientras que la conexión a Internet es de 300KB. De todos los computadores de la red interna el ancho de banda se limita sólo a 4 computadores, cada uno máximo 30KB. Los demás comparten el resto del ancho de banda.
table <interna> {192.168.2.2, 192.168.2.1, 192.168.1.1, 192.168.1.8, 192.168.1.21, 192.168.1.23, 192.168.1.30, 192.168.1.31, 192.168.1.37, 192.168.1.40, 192.168.1.41, 192.168.1.42, 192.168.1.43, 192.168.1.95, 192.168.1.70} set loginterface $int_if set fingerprints "/etc/pf.os" altq on $int_if bandwidth 100Mb cbq queue { dflt_in, uext1_in, uext2_in, uext3_in, uext4_in} altq on $ext_if bandwidth 300Kb cbq queue { dflt_out } queue dflt_in cbq(default) bandwidth 80% queue dflt_out cbq(default) queue uext1_in bandwidth 30Kb queue uext2_in bandwidth 30Kb queue uext3_in bandwidth 30Kb queue uext4_in bandwidth 30Kb uext1="192.168.1.70" uext2="192.168.1.23" uext3="192.168.1.95" uext4="192.168.1.30" match out on $ext_if from <interna> to any nat-to ($ext_if) pass out on $int_if from any to $uext1 queue uext1_in pass out on $int_if from any to $uext2 queue uext2_in pass out on $int_if from any to $uext3 queue uext3_in pass out on $int_if from any to $uext4 queue uext4_in