fireqos-interface(5)

NAME

fireqos-interface - create an interface definition

SYNOPSIS

{ interface | interface4 } device name direction [optional-class-params] { rate | commit | min } speed

interface46 ...

interface6 ...

DESCRIPTION

Writing interface or interface4 applies traffic shaping rules only to IPv4 traffic.

Writing interface6 applies traffic shaping rules only to IPv6 traffic.

Writing interface46 applies traffic shaping rules to both IPv4 and IPv6 traffic.

The actual traffic shaping behaviour of a class is defined by adding classes. See fireqos-class(5).

    Note

    To achieve best results with incoming traffic shaping, you should not use 100% of the available bandwidth at the interface level.

    If you use all there is, at 100% utilisation of the link, the neighbour routers will start queuing packets. This will destroy prioritisation. Try 85% or 90% instead.

PARAMETERS

device
    This is the interface name as shown by ip link show (e.g. eth0, ppp1, etc.)

name
    This is a single-word name for this interface and is used for retrieving status information later.

direction
    If set to input, traffic coming in to the interface is shaped.

    If set to output, traffic going out via the interface is shaped.

    if set to bidirectional traffic for both input and output can be shaped. If you need to differentiate input and output parameters per statements within the interface, you can prefix them with input or output like this:

        interface eth0 lan bidirectional ...
            class voip input commit 1Mbit output commit 2Mbit ...

optional-class-params
    For a list of optional class parameters which can be applied to an interface, see fireqos-params-class(5).

speed
    For an interface, the committed speed must be specified with the rate option. The speed can be expressed in any of the units described in fireqos.conf(5).

EXAMPLES

To create an input policy on eth0, capable of delivering up to 1Gbit of traffic:

    interface eth0 lan-in input rate 1Gbit

SEE ALSO

•   fireqos.conf(5) - FireQOS configuration file

•   fireqos-class(5) - QOS class definition

•   fireqos-params-class(5) - QOS class parameters

•   FireHOL Website (http://firehol.org/)

•   FireQOS Online PDF Manual (http://firehol.org/fireqos-manual.pdf)

•   FireQOS Online Documentation (http://firehol.org/documentation/) port 20,21,25,80,143,443,465,873,993 # mail, web, ftp, etc

# unmatched traffic goes here (`default' is a special name) class default max 90%

# I define torrents beneath the default class, so they slow # down when the default class is willing to get bandwidth class torrents max 90% match port 51414 # my torrent client ~~~~

This example uses server/client statements in a bidirectional interface. Of course match statements can also be specified. FireQOS will create 2 interfaces out of this: world-in and world-out.

      DEVICE=dsl0
      INPUT_SPEED="12000kbit"
      OUTPUT_SPEED="800kbit"
      LINKTYPE="adsl local pppoe-llc"
      # a few service definitions
      # all the rest that are used in this example
      # are defined by FireQOS
      server_netdata_ports="tcp/19999"
      server_rtp_ports="udp/10000:10100"
      server_openvpn_ports="any/1195:1198"
      server_mytorrent_ports="any/60000"
      server_mytorrenttransfers_ports="any/60001:64999"
      server_myssh_ports="tcp/2222"
      # League Of Legends game (yes! I have kids)
      server_lol_ports="udp/5000:5500 tcp/8393:8400,2099,5223,5222,8088"

      interface $DEVICE world bidirectional $LINKTYPE input rate $INPUT_SPEED output rate $OUTPUT_SPEED

        class voip commit 100kbit pfifo
          server sip
          client sip
          server rtp
          client stun
        class interactive input commit 20% output commit 10%
          server icmp limit 50%
          server dns
          client dns
          server ssh
          client ssh
          server myssh
          client myssh
          client teamviewer
          client lol
        class chat input commit 1000kbit output commit 30%
          client facetime
          server hangouts
          client hangouts
          client gtalk
          client jabber
        class vpns input commit 20% output commit 30%
          server pptp
          server GRE
          server openvpn
        class servers
          server netdata
          server http
        # a class group to favor tcp handshake over transfers
        class group surfing prio keep commit 5%
          client surfing
          client rsync
          class synacks
            match tcp syn
            match tcp ack
        class group end
        class synacks commit 5%
          match tcp syn
          match tcp ack
        class default
        class background commit 4%
          client torrents
          server mytorrent
          server mytorrenttransfers

SEE ALSO

•   fireqos(1) - FireQOS program

•   fireqos-interface(5) - QOS interface definition

•   fireqos-class(5) - QOS class definition

•   fireqos-match(5) - QOS traffic match

•   FireHOL Website (http://firehol.org/)

•   FireQOS Online PDF Manual (http://firehol.org/fireqos-manual.pdf)

•   FireQOS Online Documentation (http://firehol.org/documentation/)

•   tc(8) (http://lartc.org/manpages/tc.html) - show / manipulate traffic control settings

AUTHORS
FireHOL Team.