libxt_connlimit.man revision 2cae5334de3a817947742e0b466355e5f5566474
1Allows you to restrict the number of parallel connections to a server per
2client IP address (or client address block).
3.TP
4\fB\-\-connlimit\-upto\fP \fIn\fP
5Match if the number of existing connections is below or equal \fIn\fP.
6.TP
7\fB\-\-connlimit\-above\fP \fIn\fP
8Match if the number of existing connections is above \fIn\fP.
9.TP
10\fB\-\-connlimit\-mask\fP \fIprefix_length\fP
11Group hosts using the prefix length. For IPv4, this must be a number between
12(including) 0 and 32. For IPv6, between 0 and 128. If not specified, the
13maximum prefix length for the applicable protocol is used.
14.P
15Examples:
16.TP
17# allow 2 telnet connections per client host
18iptables \-A INPUT \-p tcp \-\-syn \-\-dport 23 \-m connlimit \-\-connlimit\-above 2 \-j REJECT
19.TP
20# you can also match the other way around:
21iptables \-A INPUT \-p tcp \-\-syn \-\-dport 23 \-m connlimit \-\-connlimit\-upto 2 \-j ACCEPT
22.TP
23# limit the number of parallel HTTP requests to 16 per class C sized \
24network (24 bit netmask)
25iptables \-p tcp \-\-syn \-\-dport 80 \-m connlimit \-\-connlimit\-above 16
26\-\-connlimit\-mask 24 \-j REJECT
27.TP
28# limit the number of parallel HTTP requests to 16 for the link local network
29(ipv6)
30ip6tables \-p tcp \-\-syn \-\-dport 80 \-s fe80::/64 \-m connlimit \-\-connlimit\-above
3116 \-\-connlimit\-mask 64 \-j REJECT
32