blob: dbc1586b3b6464c4b1f3de1e7cbbd3a3a9919139 [file] [log] [blame]
Patrick McHardycdff3082009-08-24 14:18:27 +02001This module matches IP sets which can be defined by ipset(8).
Joszef Kadlecsikb9a49382004-12-01 09:11:33 +00002.TP
Jozsef Kadlecsik2d280012009-06-11 12:27:09 +02003[\fB!\fP] \fB\-\-match\-set\fP \fIsetname\fP \fIflag\fP[\fB,\fP\fIflag\fP]...
4where flags are the comma separated list of
Joszef Kadlecsikb9a49382004-12-01 09:11:33 +00005.BR "src"
6and/or
7.BR "dst"
Jozsef Kadlecsik2d280012009-06-11 12:27:09 +02008specifications and there can be no more than six of them. Hence the command
9.IP
10 iptables \-A FORWARD \-m set \-\-match\-set test src,dst
11.IP
12will match packets, for which (if the set type is ipportmap) the source
13address and destination port pair can be found in the specified set. If
14the set type of the specified set is single dimension (for example ipmap),
15then the command will match packets for which the source address can be
16found in the specified set.
Jozsef Kadlecsikd637ead2012-09-21 20:42:15 +020017.TP
Jozsef Kadlecsik34844da2013-05-01 00:56:35 +020018\fB\-\-return\-nomatch\fP
19If the \fB\-\-return\-nomatch\fP option is specified and the set type
Jozsef Kadlecsikd637ead2012-09-21 20:42:15 +020020supports the \fBnomatch\fP flag, then the matching is reversed: a match
21with an element flagged with \fBnomatch\fP returns \fBtrue\fP, while a
22match with a plain element returns \fBfalse\fP.
Jozsef Kadlecsik34844da2013-05-01 00:56:35 +020023.TP
24\fB!\fP \fB\-\-update\-counters\fP
25If the \fB\-\-update\-counters\fP flag is negated, then the packet and
26byte counters of the matching element in the set won't be updated. Default
27the packet and byte counters are updated.
28.TP
29\fB!\fP \fB\-\-update\-subcounters\fP
30If the \fB\-\-update\-subcounters\fP flag is negated, then the packet and
31byte counters of the matching element in the member set of a list type of
32set won't be updated. Default the packet and byte counters are updated.
33.TP
34[\fB!\fP] \fB\-\-packets\-eq\fP \fIvalue\fP
35If the packet is matched an element in the set, match only if the
36packet counter of the element matches the given value too.
37.TP
38\fB\-\-packets\-lt\fP \fIvalue\fP
39If the packet is matched an element in the set, match only if the
40packet counter of the element is less than the given value as well.
41.TP
42\fB\-\-packets\-gt\fP \fIvalue\fP
43If the packet is matched an element in the set, match only if the
44packet counter of the element is greater than the given value as well.
45.TP
Mart Frauenloba0e224b2014-01-04 16:57:46 +010046[\fB!\fP] \fB\-\-bytes\-eq\fP \fIvalue\fP
Jozsef Kadlecsik34844da2013-05-01 00:56:35 +020047If the packet is matched an element in the set, match only if the
48byte counter of the element matches the given value too.
49.TP
50\fB\-\-bytes\-lt\fP \fIvalue\fP
51If the packet is matched an element in the set, match only if the
52byte counter of the element is less than the given value as well.
53.TP
54\fB\-\-bytes\-gt\fP \fIvalue\fP
55If the packet is matched an element in the set, match only if the
56byte counter of the element is greater than the given value as well.
57.PP
58The packet and byte counters related options and flags are ignored
59when the set was defined without counter support.
Jozsef Kadlecsik2d280012009-06-11 12:27:09 +020060.PP
Jan Engelhardtc6775d62010-07-23 21:23:05 +020061The option \fB\-\-match\-set\fP can be replaced by \fB\-\-set\fP if that does
Jozsef Kadlecsik2d280012009-06-11 12:27:09 +020062not clash with an option of other extensions.
Jan Engelhardtcd46b142010-01-19 18:47:43 +010063.PP
Jan Engelhardt085b2332011-08-20 18:26:34 +020064Use of -m set requires that ipset kernel support is provided, which, for
65standard kernels, is the case since Linux 2.6.39.