Manual:IP/Firewall/Connection tracking: Difference between revisions

From MikroTik Wiki
Jump to navigation Jump to search
 
(26 intermediate revisions by 4 users not shown)
Line 15: Line 15:


=== Properties ===
=== Properties ===
All properties in connection list are read-only
{{Mr-arg-table-h
|prop=Property
|desc=Description
}}
{{Mr-arg-ro-table
|arg=assured
|type=yes {{!}} no
|desc=Indicates that this connection is assured and that it will not be erased if maximum possible tracked connection count is reached.
}}
{{Mr-arg-ro-table
|arg=confirmed
|type=yes {{!}} no
|desc=Connection is confirmed and a packet is sent out from the device.
}}
{{Mr-arg-ro-table
|arg=connection-mark
|type=string
|desc=Connection mark that was set by [[M:IP/Firewall/Mangle | mangle]] rule.
}}
{{Mr-arg-ro-table
|arg=connection-type
|type=pptp {{!}} ftp
|desc=Type of connection, property is empty if connection tracking is unable to determine predefined connection type.
}}
{{Mr-arg-ro-table
|arg=dst-address
|type=ip[:port]
|desc=Destination address and port (if protocol is port based).
}}
{{Mr-arg-ro-table
|arg=dstnat
|type=yes {{!}} no
|desc=Connection has gone through DST-NAT (for example, port forwarding).
}}
{{Mr-arg-ro-table
|arg=dying
|type=yes {{!}} no
|desc=Connection is dying due to connection timeout.
}}
{{Mr-arg-ro-table
|arg=expected
|type=yes {{!}} no
|desc=Connection is setup using connection helpers (pre-defined service rules).
}}
{{Mr-arg-ro-table
|arg=fasttrack
|type=yes {{!}} no
|desc=Whether the connection is FastTracked.
}}
{{Mr-arg-ro-table
|arg=gre-key
|type=integer
|desc=Contents of the GRE Key field.
}}
{{Mr-arg-ro-table
|arg=gre-protocol
|type=string
|desc=Protocol of the encapsulated payload.
}}
{{Mr-arg-ro-table
|arg=gre-version
|type=string
|desc=Version of GRE protocol used in the connection.
}}
{{Mr-arg-ro-table
|arg=icmp-code
|type=string
|desc=ICMP Code Field
}}
{{Mr-arg-ro-table
|arg=icmp-id
|type=integer
|desc=Contains the ICMP ID
}}
{{Mr-arg-ro-table
|arg=icmp-type
|type=integer
|desc=ICMP Type Number
}}
{{Mr-arg-ro-table
|arg=orig-bytes
|type=integer
|desc=Amount of bytes sent out from the source address using the specific connection.
}}
{{Mr-arg-ro-table
|arg=orig-fasttrack-bytes
|type=integer
|desc=Amount of FastTracked bytes sent out from the source address using the specific connection.
}}
{{Mr-arg-ro-table
|arg=orig-fasttrack-packets
|type=integer
|desc=Amount of FastTracked packets sent out from the source address using the specific connection.
}}
{{Mr-arg-ro-table
|arg=orig-packets
|type=integer
|desc=Amount of packets sent out from the source address using the specific connection.
}}
{{Mr-arg-ro-table
|arg=orig-rate
|type=integer
|desc=Data rate at which packets are sent out from the source address using the specific connection.
}}
{{Mr-arg-ro-table
|arg=protocol
|type=string
|desc=IP protocol type
}}
{{Mr-arg-ro-table
|arg=repl-bytes
|type=integer
|desc=Amount of bytes received from the destination address using the specific connection.
}}
{{Mr-arg-ro-table
|arg=repl-fasttrack-bytes
|type=string
|desc=Amount of FastTracked bytes received from the destination address using the specific connection.
}}
{{Mr-arg-ro-table
|arg=repl-fasttrack-packets
|type=integer
|desc=Amount of FastTracked packets received from the destination address using the specific connection.
}}
{{Mr-arg-ro-table
|arg=repl-packets
|type=integer
|desc=Amount of packets received from the destination address using the specific connection.
}}
{{Mr-arg-ro-table
|arg=repl-rate
|type=string
|desc=Data rate at which packets are received from the destination address using the specific connection.
}}
{{Mr-arg-ro-table
|arg=reply-dst-address
|type=ip[:port]
|desc=Destination address (and port) expected of return packets. Usually the same as "src-address:port"
}}
{{Mr-arg-ro-table
|arg=reply-src-address
|type=ip[:port]
|desc=Source address (and port) expected of return packets. Usually the same as "dst-address:port"
}}
{{Mr-arg-ro-table
|arg=seen-reply
|type=yes {{!}} no
|desc=Destination address has replied to the source address.
}}
{{Mr-arg-ro-table
|arg=src-address
|type=ip[:port]
|desc=Source address and port (if protocol is port based).
}}
{{Mr-arg-ro-table
|arg=srcnat
|type=yes {{!}} no
|desc=Connection is going through SRC-NAT, including packets that were masqueraded through NAT.
}}
{{Mr-arg-ro-table
|arg=tcp-state
|type=string
|desc=Current state of TCP connection :
* "established"
* "time-wait"
* "close"
* "syn-sent"
* "syn-received"
}}
{{Mr-arg-ro-table-end
|arg=timeout
|type=time
|desc=Time after connection will be removed from connection list.
}}


==Connection tracking settings==
==Connection tracking settings==
Line 29: Line 239:
{{Mr-arg-table
{{Mr-arg-table
|arg=enabled
|arg=enabled
|type=yes {{!}} no
|type=yes {{!}} no {{!}} auto
|default=auto
|desc=Allows to disable or enable connection tracking. Disabling connection tracking will cause several firewall features to stop working. See the [[#Features affected by connection tracking | list]] of affected features. Starting from v6.0rc2 default value is auto. Which means that connection tracing is disabled until at least one firewall rule is added.
}}
 
{{Mr-arg-table
|arg=loose-tcp-tracking
|type=yes | no
|default=yes
|default=yes
|desc=Allows to disable or enable connection tracking. Disabling connection tracking will cause several firewall features to stop working. See the [[#Features affected by connection tracking | list]] of affected features.
|desc=Disable picking up already established connections
}}
}}


Line 94: Line 311:
|type=time
|type=time
|default=10s
|default=10s
|desc=
|desc=Specifies the timeout for udp connections that has seen packets in one direction
}}
}}


Line 101: Line 318:
|type=time
|type=time
|default=3m
|default=3m
|desc=
|desc=Specifies the timeout of udp connections that has seen packets in both directions
}}
}}


Line 108: Line 325:
|type=time
|type=time
|default=10s
|default=10s
|desc=
|desc=ICMP connection timeout
}}
}}


{{Mr-arg-table
{{Mr-arg-table-end
|arg=generic-timeout
|arg=generic-timeout
|type=time
|type=time
|default=10m
|default=10m
|desc=Timeout for all other connection entries
|desc=Timeout for all other connection entries
}}
{{Mr-arg-table-end
|arg=tcp-syncookie
|type=yes {{!}} no
|default=no
|desc=
}}
}}


Line 135: Line 345:
|arg=max-entries
|arg=max-entries
|type=integer
|type=integer
|desc=Max amount of entries that connection tracking table can hold. This value depends on installed amount of RAM.
|desc=Max amount of entries that connection tracking table can hold. This value depends on installed amount of RAM. Note that system does not create maximum size connection tracking table when it starts, maximum entry amount can increase if situation demands it and router still has free ram left.
}}
}}


Line 155: Line 365:
** connection-rate
** connection-rate
** layer7-protocol
** layer7-protocol
** p2p
** new-connection-mark
** new-connection-mark
** tarpit
** tarpit
* p2p matching in simple queues


[[Category:Manual|Connection tracking]]
[[Category:Manual|Connection tracking]]
[[Category:IP|Connection tracking]]
[[Category:IP|Connection tracking]]
[[Category:Firewall|Connection tracking]]
[[Category:Firewall|Connection tracking]]
[[Category:Case Studies|Connection tracking]]

Latest revision as of 11:09, 12 April 2019

Connection tracking entries

Sub-menu: /ip firewall connection


There are several ways to see what connections are making their way though the router.

In the Winbox Firewall window, you can switch to the Connections tab, to see current connections to/from/through your router. It looks like this:


Properties

All properties in connection list are read-only

Property Description
assured (yes | no) Indicates that this connection is assured and that it will not be erased if maximum possible tracked connection count is reached.
confirmed (yes | no) Connection is confirmed and a packet is sent out from the device.
connection-mark (string) Connection mark that was set by mangle rule.
connection-type (pptp | ftp) Type of connection, property is empty if connection tracking is unable to determine predefined connection type.
dst-address (ip[:port]) Destination address and port (if protocol is port based).
dstnat (yes | no) Connection has gone through DST-NAT (for example, port forwarding).
dying (yes | no) Connection is dying due to connection timeout.
expected (yes | no) Connection is setup using connection helpers (pre-defined service rules).
fasttrack (yes | no) Whether the connection is FastTracked.
gre-key (integer) Contents of the GRE Key field.
gre-protocol (string) Protocol of the encapsulated payload.
gre-version (string) Version of GRE protocol used in the connection.
icmp-code (string) ICMP Code Field
icmp-id (integer) Contains the ICMP ID
icmp-type (integer) ICMP Type Number
orig-bytes (integer) Amount of bytes sent out from the source address using the specific connection.
orig-fasttrack-bytes (integer) Amount of FastTracked bytes sent out from the source address using the specific connection.
orig-fasttrack-packets (integer) Amount of FastTracked packets sent out from the source address using the specific connection.
orig-packets (integer) Amount of packets sent out from the source address using the specific connection.
orig-rate (integer) Data rate at which packets are sent out from the source address using the specific connection.
protocol (string) IP protocol type
repl-bytes (integer) Amount of bytes received from the destination address using the specific connection.
repl-fasttrack-bytes (string) Amount of FastTracked bytes received from the destination address using the specific connection.
repl-fasttrack-packets (integer) Amount of FastTracked packets received from the destination address using the specific connection.
repl-packets (integer) Amount of packets received from the destination address using the specific connection.
repl-rate (string) Data rate at which packets are received from the destination address using the specific connection.
reply-dst-address (ip[:port]) Destination address (and port) expected of return packets. Usually the same as "src-address:port"
reply-src-address (ip[:port]) Source address (and port) expected of return packets. Usually the same as "dst-address:port"
seen-reply (yes | no) Destination address has replied to the source address.
src-address (ip[:port]) Source address and port (if protocol is port based).
srcnat (yes | no) Connection is going through SRC-NAT, including packets that were masqueraded through NAT.
tcp-state (string) Current state of TCP connection :
  • "established"
  • "time-wait"
  • "close"
  • "syn-sent"
  • "syn-received"
timeout (time) Time after connection will be removed from connection list.

Connection tracking settings

Sub-menu: /ip firewall connection tracking

Properties

Property Description
enabled (yes | no | auto; Default: auto) Allows to disable or enable connection tracking. Disabling connection tracking will cause several firewall features to stop working. See the list of affected features. Starting from v6.0rc2 default value is auto. Which means that connection tracing is disabled until at least one firewall rule is added.
loose-tcp-tracking (yes; Default: yes) Disable picking up already established connections
tcp-syn-sent-timeout (time; Default: 5s) TCP SYN timeout.
tcp-syn-received-timeout (time; Default: 5s) TCP SYN timeout.
tcp-established-timeout (time; Default: 1d) Time when established TCP connection times out.
tcp-fin-wait-timeout (time; Default: 10s)
tcp-close-wait-timeout (time; Default: 10s)
tcp-last-ack-timeout (time; Default: 10s)
tcp-time-wait-timeout (time; Default: 10s)
tcp-close-timeout (time; Default: 10s)
udp-timeout (time; Default: 10s) Specifies the timeout for udp connections that has seen packets in one direction
udp-stream-timeout (time; Default: 3m) Specifies the timeout of udp connections that has seen packets in both directions
icmp-timeout (time; Default: 10s) ICMP connection timeout
generic-timeout (time; Default: 10m) Timeout for all other connection entries


Read-only properties

Property Description
max-entries (integer) Max amount of entries that connection tracking table can hold. This value depends on installed amount of RAM. Note that system does not create maximum size connection tracking table when it starts, maximum entry amount can increase if situation demands it and router still has free ram left.
total-entries (integer) Amount of connections that currently connection table holds.

Features affected by connection tracking

  • NAT
  • firewall:
    • connection-bytes
    • connection-mark
    • connection-type
    • connection-state
    • connection-limit
    • connection-rate
    • layer7-protocol
    • new-connection-mark
    • tarpit