Provided by: uif_1.1.9-1_all bug

NAME

     uif.conf — Tool for generating optimized packet filter rules

DESCRIPTION

     First of all, the syntax of this configuration file is far from being perfect. If you've got
     some better ideas just drop me a line...  /etc/uif/uif.conf is the default configuration
     file for uif(8).  This file may contain several sections and comments. Each section begins
     with the section name and the left curly brace and ends with the right curly brace in a
     single line. A comment starts with a hash mark (#) at the beginning of a line.

     Blank lines are silently ignored. The following sections are valid: include, include4,
     include6, sysconfig, service, network, interface, marker, filter, nat, input, output,
     forward, masquerade and stateless.

     The sections service, network, marker and interface have all a very similar syntax.  Each
     line starts with an identifier followed by one or more blanks and one or more section
     specific entries or defined identifiers separated by blanks.  A valid identifier is case
     sensitive and consists of letters, digits, underscores and hyphens.

     If two or more identifiers in one section are equal, the corresponding entries are merged to
     the first identifier. Hence, it's not possible to overwrite previously defined identifiers.
     As a result the order of the section entries is irrelevant and it's possible to define a
     section more than once.

   include section
     Include other configuration files. Each line in this section, enclosed in quotation marks
     ("), must be a valid filename. The contents of this file are added to the actual
     configuration file and each file should contain at least one section (a comment only file is
     not really useful...).

   include4 section
     Include other configuration files but ONLY in IPv4 mode (WITHOUT -6 switch to uif).
     Otherwise equivalent to the include section above.

   include6 section
     Include other configuration files but ONLY in IPv6 mode (WITH -6 switch to uif).  Otherwise
     equivalent to the include section above.

   sysconfig section
     Set some global settings. Each line in this section starts with one of the following
     identifiers followed by one or more blanks and the desired value: LogLevel, LogPrefix,
     LogLimit, LogBurst, Limit, Burst and AccountPrefix. If there are multiple definitions of one
     entry the last definition is stored.

     LogLevel
             A valid default log priority (see syslog.conf(5))

     LogPrefix
             The default log prefix. Each iptables logmessage starts with this prefix.

     LogLimit
             The default limit value for logmessages (see iptables(8))

     LogBurst
             The default burst value for logmessages (see iptables(8))

     Limit   The default limit value (see iptables(8))

     Burst   The default burst value (see iptables(8))

     AccountPrefix
             The default prefix for accounting chains.

   service section
     This section defines all needed services. A service description starts with the protocol
     (see protocols(5)) followed by parameters in parenthesis. Most protocols don't need any
     parameters. The only exceptions are tcp, udp and icmp. The tcp and udp parameter defines the
     source and destionation port(-range). The source and destination ports are separated by a
     slash (/) and portranges are separated by a colon (eg. tcp(123:333/99): tcp protocol,
     source-portrange 123-333, destination port 99). Empty source or destination ports are
     expanded to 1:65535. The icmp protocol parameter must be a valid icmp type (see iptables -p
     icmp --help).

   network section
     This section defines all needed networks and hosts. A network description starts with a
     valid IPv4 address (dotted quad), an optional netmask in cidr notation (number of bits) or
     an optional MAC-address (with a prefixed equal sign (=). Some valid entries are: 127.0.0.1
     127.0.0.0/8 192.168.0.1=00:00:00:00:00:FF.

   interface section
     This section defines all needed (physical and bridged) interfaces (eg. eth0, lo, ppp0).

   marker section
     This section defines all needed numerical (decimal) values for packet marking purposes.

   filter, nat, input, output, forward, masquerade and stateless sections
     Due to better partitioning of the packetfilter, rules can be split into these sections.
     Internally they are equivalent and contain all rules. As an exception to all other sections
     the order of entries in these sections is important.

     The default policy for the chains INPUT, OUTPUT and FORWARD is DROP (see iptables(8)) and
     it's not possible to change this.

     Each line in in this section begins with in, out, fw, nat, masq, slin, slout or slfw
     followed by '+', '-' or a mark identifier enclosed in curly braces (or, in case of fw
     followed by '>').  The identifiers in, out and fw define rules for incoming, outgoing and
     forwarded IP-packets. Each packet with an INVALID state (see iptables(8)) is matched by
     slin, slout and slfw. The lines starting with nat and masq define rules to modify the source
     or destination address or the destination port.

     Note: The identifiers nat and masq are non-operational in IPv6 mode. They simply get ignored
     as NAT and Masquerading are not supported by the IPv6 protocol.

     The plus and minus signs specify the type of the rule: '+' accepts matching packets and '-'
     drops them. As a special case the identifier out and fw accept the greater than (>) sign to
     modify the MSS depending on the PMTU (see iptables(8))

     A very basic ruleset may look like this: out+

     This allows every outgoing traffic and rejects all incoming connections (because of the
     default policy).

     To be more specific, each line may contain several parameters. Each parameter starts with a
     single character followed by an equal sign (=) and one or more previously defined
     identifiers (in the corresponding sections) separated by commas. The following parameters
     are valid:

     s       The source address or network. Append "(4)" or "(6)" to the network name to make
             this rule apply to IPv4 or IPv6 only.

     d       The destination address or network. Append "(4)" or "(6)" to the network name to
             make this rule apply to IPv4 or IPv6 only.

     i       The input interface.

     o       The output interface.

     pi      The physical input interface (only useful when used with bridged interfaces).

     po      The physical output interface (only useful when used with bridged interfaces).

     p       The service description (protocol).

     m       The mark field associated with a packet.

     S       The the new source address in nat rules. Supported in IPv4 mode only. Ignored in
             IPv6 mode.

     D       The the new destination address in nat rules. Supported in IPv4 mode only. Ignored
             in IPv6 mode.

     P       The the new service description in nat rules. This is only valid with tcp or udp
             packets.

     f       This parameter sets some 'flags'. A flag definition starts with the flag identifier
             and optional parameters in parenthesis. Valid flags are:

             log - Logs matching packages to syslog. The given parameter is included in the log
             entry. The number of logged packets and the loglevel can be set in the sysconfig
             section.

             reject - Only valid in DROP rules. This is used to send back an error packet in
             response to the matched packet. The default behaviour is a packet with set RST flag
             on tcp connections and a destination-unreachable icmp packet in every other case.
             Valid parameters are listed in iptables(8) in the REJECT section.

             account - Create an accounting chain for all matching packages and possible
             responses.  The optional parameter is a part of the name of the chain.

             limit - Limits the number of matching packets. The default values are set in the
             sysconfig section. Other values can be defined with the optional parameter.  The
             first entry sets a new limit and the second parameter (separated by a comma (,))
             sets the burst value (see Limit and Burst in sysconfig section).
     It's possible to invert the identifier of one of following parameters - if it expands to
     ecactly one object - by prepending a exclamation mark (!): s, d, i, o, p (eg.: s=!local
     p=!http).

FILES

     Configuration files are located in /etc/uif. There is a sample configuration in
     /usr/share/doc/uif/uif.conf.tmpl.gz.

SEE ALSO

     iptables(8) uif(8)

AUTHOR

     This manual page was written by Jörg Platte <joerg.platte@gmx.de> and Cajus Pollmeier
     <pollmeier@gonicus.de>, for the Debian GNU/Linux system (but may be used by others).