2004-03-15 19:47:21 +01:00
|
|
|
#
|
2005-02-02 22:07:23 +01:00
|
|
|
# Shorewall version 2.2 - Traffic Control Rules File
|
2004-03-15 19:47:21 +01:00
|
|
|
#
|
|
|
|
# /etc/shorewall/tcrules
|
|
|
|
#
|
|
|
|
# Entries in this file cause packets to be marked as a means of
|
|
|
|
# classifying them for traffic control or policy routing.
|
|
|
|
#
|
|
|
|
# I M P O R T A N T ! ! ! !
|
|
|
|
#
|
|
|
|
# FOR ENTRIES IN THIS FILE TO HAVE ANY EFFECT, YOU MUST SET
|
|
|
|
# TC_ENABLED=Yes in /etc/shorewall/shorewall.conf
|
|
|
|
#
|
2004-09-30 16:31:35 +02:00
|
|
|
# Unlike rules in the /etc/shorewall/rules file, evaluation
|
|
|
|
# of rules in this file will continue after a match. So the
|
|
|
|
# final mark for each packet will be the one assigned by the
|
|
|
|
# LAST tcrule that matches.
|
|
|
|
#
|
2004-03-15 19:47:21 +01:00
|
|
|
# Columns are:
|
|
|
|
#
|
|
|
|
#
|
2005-02-02 22:07:23 +01:00
|
|
|
# MARK/ a) A mark value which is a integer in the range 1-255
|
|
|
|
# CLASSIFY
|
|
|
|
# May optionally be followed by ":P" or ":F"
|
|
|
|
# where ":P" indicates that marking should occur in
|
|
|
|
# the PREROUTING chain and ":F" indicates that marking
|
|
|
|
# should occur in the FORWARD chain. If neither
|
|
|
|
# ":P" nor ":F" follow the mark value then the chain is
|
|
|
|
# determined by the setting of MARK_IN_FORWARD_CHAIN in
|
|
|
|
# /etc/shorewall/shorewall.conf.
|
2004-03-15 19:47:21 +01:00
|
|
|
#
|
2005-02-02 22:07:23 +01:00
|
|
|
# If your kernel and iptables include CONNMARK support
|
|
|
|
# then you can also mark the connection rather than
|
|
|
|
# the packet.
|
|
|
|
#
|
|
|
|
# The mark value may be optionally followed by "/"
|
|
|
|
# and a mask value (used to determine those bits of
|
|
|
|
# the connection mark to actually be set). The
|
|
|
|
# mark and optional mask are then followed by one of:
|
|
|
|
#
|
|
|
|
# C - Mark the connection in the chain determined
|
|
|
|
# by the setting of MARK_IN_FORWARD_CHAIN
|
|
|
|
#
|
2005-03-11 20:24:11 +01:00
|
|
|
# CF: Mark the connection in the FORWARD chain
|
2005-02-02 22:07:23 +01:00
|
|
|
#
|
|
|
|
# CP: Mark the connection in the PREROUTING chain.
|
|
|
|
#
|
|
|
|
# b) A classification of the form <major>:<minor> where
|
|
|
|
# <major> and <minor> are integers. Corresponds to
|
|
|
|
# the 'class' specification in these traffic shaping
|
|
|
|
# modules:
|
|
|
|
#
|
|
|
|
# - atm
|
|
|
|
# - cbq
|
|
|
|
# - dsmark
|
|
|
|
# - pfifo_fast
|
|
|
|
# - htb
|
|
|
|
# - prio
|
|
|
|
#
|
|
|
|
# Classify always occurs in the POSTROUTING chain.
|
|
|
|
#
|
|
|
|
# c) RESTORE[/mask] -- restore the packet's mark from the
|
|
|
|
# connection's mark using the supplied mask if any.
|
|
|
|
# Your kernel and iptables must include CONNMARK support.
|
|
|
|
# As in a) above, may be followed by ":P" or ":F
|
|
|
|
#
|
|
|
|
# c) SAVE[/mask] -- save the packet's mark to the
|
|
|
|
# connection's mark using the supplied mask if any.
|
|
|
|
# Your kernel and iptables must include CONNMARK support.
|
|
|
|
# As in a) above, may be followed by ":P" or ":F
|
|
|
|
#
|
|
|
|
# d) CONTINUE -- don't process any more marking rules in
|
|
|
|
# the table. As in a) above, may be followed by ":P" or
|
|
|
|
# ":F".
|
2004-03-15 19:47:21 +01:00
|
|
|
#
|
|
|
|
# SOURCE Source of the packet. A comma-separated list of
|
|
|
|
# interface names, IP addresses, MAC addresses
|
2005-02-02 22:07:23 +01:00
|
|
|
# and/or subnets. If your kernel and iptables include
|
|
|
|
# iprange match support, IP address ranges are also
|
|
|
|
# allowed. Use $FW if the packet originates on
|
2004-03-15 19:47:21 +01:00
|
|
|
# the firewall in which case the MARK column may NOT
|
|
|
|
# specify either ":P" or ":F" (marking always occurs
|
2005-03-07 23:32:05 +01:00
|
|
|
# in the OUTPUT chain). $FW may be optionally followed
|
|
|
|
# by ":" and a host/network address.
|
2004-03-15 19:47:21 +01:00
|
|
|
#
|
|
|
|
# MAC addresses must be prefixed with "~" and use
|
|
|
|
# "-" as a separator.
|
|
|
|
#
|
|
|
|
# Example: ~00-A0-C9-15-39-78
|
|
|
|
#
|
|
|
|
# DEST Destination of the packet. Comma separated list of
|
2005-02-02 22:07:23 +01:00
|
|
|
# IP addresses and/or subnets. If your kernel and
|
|
|
|
# iptables include iprange match support, IP address
|
|
|
|
# ranges are also allowed.
|
|
|
|
#
|
|
|
|
# If the MARK column specificies a classification of
|
|
|
|
# the form <major>:<minor> then this column may also
|
|
|
|
# contain an interface name.
|
2004-03-15 19:47:21 +01:00
|
|
|
#
|
2005-02-02 22:07:23 +01:00
|
|
|
# PROTO Protocol - Must be "tcp", "udp", "icmp", "ipp2p",
|
|
|
|
# a number, or "all". "ipp2p" requires ipp2p match
|
|
|
|
# support in your kernel and iptables.
|
2004-03-15 19:47:21 +01:00
|
|
|
#
|
|
|
|
# PORT(S) Destination Ports. A comma-separated list of Port
|
|
|
|
# names (from /etc/services), port numbers or port
|
|
|
|
# ranges; if the protocol is "icmp", this column is
|
|
|
|
# interpreted as the destination icmp-type(s).
|
|
|
|
#
|
2005-02-02 22:07:23 +01:00
|
|
|
# If the protocol is ipp2p, this column is interpreted
|
|
|
|
# as an ipp2p option without the leading "--" (example "bit"
|
|
|
|
# for bit-torrent). If no PORT is given, "ipp2p" is
|
|
|
|
# assumed.
|
|
|
|
#
|
2004-03-15 19:47:21 +01:00
|
|
|
# This column is ignored if PROTOCOL = all but must be
|
|
|
|
# entered if any of the following field is supplied.
|
|
|
|
# In that case, it is suggested that this field contain
|
|
|
|
# "-"
|
|
|
|
#
|
2005-02-02 22:07:23 +01:00
|
|
|
# SOURCE PORT(S) (Optional) Source port(s). If omitted,
|
2004-03-15 19:47:21 +01:00
|
|
|
# any source port is acceptable. Specified as a comma-
|
|
|
|
# separated list of port names, port numbers or port
|
|
|
|
# ranges.
|
|
|
|
#
|
|
|
|
# USER This column may only be non-empty if the SOURCE is
|
|
|
|
# the firewall itself.
|
|
|
|
#
|
|
|
|
# When this column is non-empty, the rule applies only
|
|
|
|
# if the program generating the output is running under
|
|
|
|
# the effective user and/or group.
|
|
|
|
#
|
|
|
|
# It may contain :
|
|
|
|
#
|
|
|
|
# [<user name or number>]:[<group name or number>]
|
|
|
|
#
|
|
|
|
# The colon is optionnal when specifying only a user.
|
2005-02-02 22:07:23 +01:00
|
|
|
# Examples : john: / john / :users / john:users
|
|
|
|
#
|
|
|
|
# TEST Defines a test on the existing packet or connection mark.
|
|
|
|
# The rule will match only if the test returns true. Tests
|
|
|
|
# have the format [!]<value>[/<mask>][:C]
|
|
|
|
#
|
|
|
|
# Where:
|
2004-03-15 19:47:21 +01:00
|
|
|
#
|
2005-02-02 22:07:23 +01:00
|
|
|
# ! Inverts the test (not equal)
|
|
|
|
# <value> Value of the packet or connection mark.
|
|
|
|
# <mask> A mask to be applied to the mark before
|
|
|
|
# testing
|
|
|
|
# :C Designates a connection mark. If omitted,
|
|
|
|
# the packet mark's value is tested.
|
2004-03-15 19:47:21 +01:00
|
|
|
##############################################################################
|
2005-02-02 22:07:23 +01:00
|
|
|
#MARK SOURCE DEST PROTO PORT(S) CLIENT USER TEST
|
2004-03-15 19:47:21 +01:00
|
|
|
# PORT(S)
|
|
|
|
#LAST LINE -- ADD YOUR ENTRIES BEFORE THIS ONE -- DO NOT REMOVE
|