1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64
|
# example.1.conf: shape echo server's output to measure performance
#
# send a SIGHUP to reload this file with the command killall -HUP shaperd
# this is an "internal" log level (all logs are sent with facility daemon,
# priority info; see the syslog manpage for more information).
# valid levels are:
# alert (1)
# error (2)
# warning (3)
# info (4)
# debug1 (5)
# debug2 (6)
# log levels beggining from warning (3) will log unmatched packets
log level = info
# this is a required option. note that shaperd must have been built with
# the correct forwarding mechanism(s) in order for these to work
# see the README for further details.
# packet forwarding = ipq
# packet forwarding = divert # check "divert port" and "divert reinjection"
packet forwarding = ipq
# for divert sockets, you must also specify a port number:
# this number should be the same value you use in the firewall rules
# divert port = 1111
# this is useful for debugging
# shaperd will run detached if set to "yes"
daemon = yes
# full path to shaperd's pidfile
# it'll be generated in daemon mode only
pidfile = /var/run/shaperd.pid
class local_echo {
# shape every tcp packet from 127.0.0.1, port=7 (echo)
ipv4 classifier proto=tcp saddr=127.0.0.1 sport=7
# valid suffixes: mbyte/s mbit/s kbyte/s kbit/s byte/s bit/s
bandwidth = 100.0 kbyte/s
# maximum queue size
# shaperd will drop packets when the queue is full
# valid suffixes: mbyte, mb, kbyte, kb, byte, bytes
# 0 means "unlimited" (both for bytes and amount of packets)
# - the first limit, bytes, is mainly for divert sockets (because
# it forwards entire datagrams of arbitraty sizes)
# - the second limit, packets, is intended for use under kernel 2.4,
# because linux will trigger an error when the number of
# outstanting packets is greater than /proc/net/ip_queue
queue limits = 100 kb 100 packets
# (divert only)
# divert reinjection = inbound|outbound
# as a rule of thumb:
# packets for this host -> inbound
# forwarded packets -> inbound
# packets from this host -> outbound
# these are locally generated packets, so we'll reinject them in the
# outbound direction
#
# divert reinjection = outbound
}
|