blob: ca5974eac9fde34bd82c7eae7d16b6b8c760d96b [file] [log] [blame]
Jan Engelhardt21df4af2007-07-09 16:50:17 +00001Allows you to restrict the number of parallel connections to a server per
2client IP address (or client address block).
3.TP
4[\fB!\fR] \fB--connlimit-above \fIn\fR
5Match if the number of existing connections is (not) above \fIn\fR.
6.TP
7\fB--connlimit-mask\fR \fIprefix_length\fR
8Group hosts using the prefix length. For IPv4, this must be a number between
9(including) 0 and 32. For IPv6, between 0 and 128.
10.P
11Examples:
12.TP
13# allow 2 telnet connections per client host
14iptables -A INPUT -p tcp --syn --dport 23 -m connlimit --connlimit-above 2 -j REJECT
15.TP
16# you can also match the other way around:
17iptables -A INPUT -p tcp --syn --dport 23 -m connlimit ! --connlimit-above 2 -j ACCEPT
18.TP
19# limit the number of parallel HTTP requests to 16 per class C sized \
20network (24 bit netmask)
21iptables -p tcp --syn --dport 80 -m connlimit --connlimit-above 16
22--connlimit-mask 24 -j REJECT
23.TP
24# limit the number of parallel HTTP requests to 16 for the link local network \
25(ipv6)
26ip6tables -p tcp --syn --dport 80 -s fe80::/64 -m connlimit --connlimit-above
2716 --connlimit-mask 64 -j REJECT