CSF - CONNLIMIT off for single IP

johannes

Verified User
Joined
Feb 18, 2007
Messages
990
Is it possible, to have CONNLIMIT activated for all, but for one or several single dedicated IPs?
 
As far as I know this is only possible by putting them in the csf.ignore file.
But then they will be ignored for everything.
 
Just got this from an AI, didnt tested it yet, but sounds good:

To configure **Connlimit** in CSF for a specific IP address, you can set up a **custom rule** in `/etc/csf/csfpre.sh` or via the firewall filter. Here are two options:

## 1. Adaptation via Iptable (direct rule)

Instead of releasing the IP global in `csf.ignore` or` csf.allow`, you can set an IPTABLES rule directly for the desired IP:

iptables -i input -s 123.456.789,000 -j accept

This rule allows all connections of `123.456.789.000`, regardless of `Connlimit`.


## 2. Use of CSF Custom Rules

If you want a certain IP to be excluded from `Connlimit` but are still subject to other CSF rules, you can specify this directly in ` csf.conf`: Connlimit = "80; 5.443; 5"

Then add a specific rule in `csf.allow`, but only for certain ports:

tcp:in:d=80:s=123.456.789.000
tcp:in:d=443:s=123.456.789.000

The IP can thus make more connections for HTTP(s) without being affected by `Connlimit`, but remains protected by other firewall rules.

After each change, you should reload CSF so that the rules become active: `csf -r`
 
Just out of couriosity, and as next nearby info, I asked AI how to exclude single IP from CT_LIMIT.

At first she halluzinated, answered about an undocumented csf setting "CT_SKIP_IP" to add manually in csf.conf. This was obviously complete wrong. Then she came up with this, what seems more logic to me, to add a custom iptables rule:

Here’s a custom iptables rule to exclude a specific IP from CT_LIMIT while keeping other firewall protections active:

iptables -I INPUT -s 123.456.789.000 -m conntrack --ctstate NEW -j ACCEPT
  • -I INPUT: Inserts the rule at the top of the INPUT chain.
  • -s 123.456.789.000: Specifies the source IP to exclude.
  • -m conntrack --ctstate NEW: Matches only new connections (not existing ones).
  • -j ACCEPT: Allows the connection without triggering CSF’s connection tracking.

Can anybody confirm this is right?
 
Back
Top