New on LowEndTalk? Please Register and read our Community Rules.
All new Registrations are manually reviewed and approved, so a short delay after registration may occur before your account becomes active.
All new Registrations are manually reviewed and approved, so a short delay after registration may occur before your account becomes active.
XDP/eBPF DDoS filtering on VPS nodes: how do you avoid false positives across tenants?
Mystral_Hosting
Member
in General
Hey all,
I run a small hosting setup in Switzerland, mostly VPS. Big volumetric attacks are scrubbed upstream, and we run our own XDP/eBPF filtering on the nodes for what gets through, including SYN cookies.
The hard part isn't dropping packets, it's doing it without breaking legit traffic. One customer runs a web stack, the next one WireGuard, DNS or a game server, so any generic rule ends up hurting someone.
Curious how other providers handle it:
- Per-IP / per-customer profiles, or global rules plus exceptions?
- Always-on filtering, or rules that only kick in above a threshold?
- UDP: blanket drop of common amplification source ports, or something smarter?
- Do you let customers tweak their own rules from the panel?
- Native XDP in the NIC driver or generic mode, and any NIC you'd avoid?
Happy to share what we've learned so far, including the mistakes.
Comments
dont do of which u have not researched simple
Not a hosting provider, but I do some DDoS mitigation in-house for my own services and I've done a lot of troubleshooting for problems caused by some providers' DDoS mitigation.
As a customer, the key thing is visibility and transparency:
The next important thing is to be sensible about what traffic you drop:
You should definitely have the option to customise rules per-destination-IP address.
Always-on for explicitly configured L7 filters, threshold based for generic filters.
Common amplification source ports should be blocked or rate limited by the volumetric mitigation. It's the most basic thing they should handle for you.
Always native. I mostly use Mellanox NICs. Don't use anything older than ConnectX-4 for this, and prefer ConnectX-5 and newer. Be aware I've seen significantly worse PPS scaling with dual port NICs when using both ports, vs using a single port. RX buffer size and coalescing policy will make a pretty massive difference. Make sure that you don't have any implicit synchronisation via memory accesses or false sharing between the cores in your eBPF code, because that will absolutely destroy performance.
I've heard pretty bad things about performance with Intel NICs.
Okay, your turn