libxt_connlimit.man 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. Allows you to restrict the number of parallel connections to a server per
  2. client IP address (or client address block).
  3. .TP
  4. \fB\-\-connlimit\-upto\fP \fIn\fP
  5. Match if the number of existing connections is below or equal \fIn\fP.
  6. .TP
  7. \fB\-\-connlimit\-above\fP \fIn\fP
  8. Match if the number of existing connections is above \fIn\fP.
  9. .TP
  10. \fB\-\-connlimit\-mask\fP \fIprefix_length\fP
  11. Group 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
  13. maximum prefix length for the applicable protocol is used.
  14. .TP
  15. \fB\-\-connlimit\-saddr\fP
  16. Apply the limit onto the source group. This is the default if
  17. \-\-connlimit\-daddr is not specified.
  18. .TP
  19. \fB\-\-connlimit\-daddr\fP
  20. Apply the limit onto the destination group.
  21. .PP
  22. Examples:
  23. .TP
  24. # allow 2 telnet connections per client host
  25. iptables \-A INPUT \-p tcp \-\-syn \-\-dport 23 \-m connlimit \-\-connlimit\-above 2 \-j REJECT
  26. .TP
  27. # you can also match the other way around:
  28. iptables \-A INPUT \-p tcp \-\-syn \-\-dport 23 \-m connlimit \-\-connlimit\-upto 2 \-j ACCEPT
  29. .TP
  30. # limit the number of parallel HTTP requests to 16 per class C sized \
  31. source network (24 bit netmask)
  32. iptables \-p tcp \-\-syn \-\-dport 80 \-m connlimit \-\-connlimit\-above 16
  33. \-\-connlimit\-mask 24 \-j REJECT
  34. .TP
  35. # limit the number of parallel HTTP requests to 16 for the link local network
  36. (ipv6)
  37. ip6tables \-p tcp \-\-syn \-\-dport 80 \-s fe80::/64 \-m connlimit \-\-connlimit\-above
  38. 16 \-\-connlimit\-mask 64 \-j REJECT
  39. .TP
  40. # Limit the number of connections to a particular host:
  41. ip6tables \-p tcp \-\-syn \-\-dport 49152:65535 \-d 2001:db8::1 \-m connlimit
  42. \-\-connlimit-above 100 \-j REJECT