<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Limiting&#x2F;queueing UDP traffic to specific port to avoid DoS (UDP spoofing)]]></title><description><![CDATA[<p dir="auto">Hi,</p>
<p dir="auto">I have a game server running on port 1111, that can be accessed from public IP 85.1.2.3:1111, using port forwarding to internal IP 192.168.1.201:1111. This game server uses only UDP protocol.</p>
<p dir="auto">I'm receiving a UDP flood attack with 120Mb p/s, where it receives connection requests from more than 100000 different IPs, using UDP spoofing (false source addresses). The addresses uses are in the same range of the IPs from legitimate users, so blocking by range is not possible.</p>
<p dir="auto">When the server receives the requests it is just overwhelmed and completely freezes, so I'm trying to somehow using traffic shaping (limiters? queues?) burst the traffic into the machine at a defined rate, such as 2Mb p/s, while also giving opportunity to the legitimate players to request connection (this is just 1 packet, and it's the same one used in the attack).</p>
<p dir="auto">Also the attack completely fills PfSense state table in a matter of seconds and it freezes.</p>
<p dir="auto">How can I do this, please?</p>
<p dir="auto">Thanks.</p>
]]></description><link>https://forum.netgate.com/topic/159847/limiting-queueing-udp-traffic-to-specific-port-to-avoid-dos-udp-spoofing</link><generator>RSS for Node</generator><lastBuildDate>Thu, 13 Aug 2026 09:21:35 GMT</lastBuildDate><atom:link href="https://forum.netgate.com/topic/159847.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 12 Jan 2021 21:37:42 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Limiting&#x2F;queueing UDP traffic to specific port to avoid DoS (UDP spoofing) on Wed, 13 Jan 2021 08:30:40 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/adrianx">@<bdi>adrianx</bdi></a></p>
<p dir="auto">in the mean time you could try and find the differences between the DDOS packets &amp; the good packets by doing packet captures (&amp; analyzing them in wireshark)</p>
]]></description><link>https://forum.netgate.com/post/956684</link><guid isPermaLink="true">https://forum.netgate.com/post/956684</guid><dc:creator><![CDATA[heper]]></dc:creator><pubDate>Wed, 13 Jan 2021 08:30:40 GMT</pubDate></item><item><title><![CDATA[Reply to Limiting&#x2F;queueing UDP traffic to specific port to avoid DoS (UDP spoofing) on Wed, 13 Jan 2021 08:23:50 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/heper">@<bdi>heper</bdi></a> Thanks for your help, really appreciate it. Hopefully someone else in the forum can give me a few more tips on the queueing and this specific type of attack.</p>
]]></description><link>https://forum.netgate.com/post/956682</link><guid isPermaLink="true">https://forum.netgate.com/post/956682</guid><dc:creator><![CDATA[AdrianX]]></dc:creator><pubDate>Wed, 13 Jan 2021 08:23:50 GMT</pubDate></item><item><title><![CDATA[Reply to Limiting&#x2F;queueing UDP traffic to specific port to avoid DoS (UDP spoofing) on Wed, 13 Jan 2021 08:21:21 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/adrianx">@<bdi>adrianx</bdi></a><br />
you can either just try &amp; possibly break your production environment<br />
or<br />
setup a lab-environment with VM's to experiment</p>
<p dir="auto">i'm no expert in neither traffic shaping, nor IDS/IPS ...<br />
I think the problem you'll need to solve is how to separate the good packets from the bad ones.<br />
I believe creating some sort queue will not solve your state problem ... the queue will just fill up and the states will overload</p>
]]></description><link>https://forum.netgate.com/post/956681</link><guid isPermaLink="true">https://forum.netgate.com/post/956681</guid><dc:creator><![CDATA[heper]]></dc:creator><pubDate>Wed, 13 Jan 2021 08:21:21 GMT</pubDate></item><item><title><![CDATA[Reply to Limiting&#x2F;queueing UDP traffic to specific port to avoid DoS (UDP spoofing) on Wed, 13 Jan 2021 08:10:49 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/heper">@<bdi>heper</bdi></a> Legitimate players need to send 4 packets to establish connection, If I limit it to 1 state, will it still work for them? Spoofed attack also sends the same 4 packets.</p>
<p dir="auto">I will have a look at suricata and snort. Do you know how I could do the queueing I mentioned before using the traffic shaper?</p>
<p dir="auto">Thanks.</p>
]]></description><link>https://forum.netgate.com/post/956678</link><guid isPermaLink="true">https://forum.netgate.com/post/956678</guid><dc:creator><![CDATA[AdrianX]]></dc:creator><pubDate>Wed, 13 Jan 2021 08:10:49 GMT</pubDate></item><item><title><![CDATA[Reply to Limiting&#x2F;queueing UDP traffic to specific port to avoid DoS (UDP spoofing) on Wed, 13 Jan 2021 08:03:46 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/adrianx">@<bdi>adrianx</bdi></a> and limiting it to 1 state per host doesn't help ?</p>
<p dir="auto">you say your pipe isn't exausted, so perhaps you could experiment with snort or suricata to detect the malicious UDP packet? Alerts can be configured to be blocked<br />
someone in the IDS section of the forum might be able to point you in the right direction.</p>
<p dir="auto">snort or suricata can/will abuse lots of cpu cycles &amp; memory ...</p>
]]></description><link>https://forum.netgate.com/post/956676</link><guid isPermaLink="true">https://forum.netgate.com/post/956676</guid><dc:creator><![CDATA[heper]]></dc:creator><pubDate>Wed, 13 Jan 2021 08:03:46 GMT</pubDate></item><item><title><![CDATA[Reply to Limiting&#x2F;queueing UDP traffic to specific port to avoid DoS (UDP spoofing) on Wed, 13 Jan 2021 07:39:45 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/heper">@<bdi>heper</bdi></a> The problem is that the attack creates only ~4 states per host, as it spoofs tens of thousands of IPs per second, each one sends those 4 packets (connection requests to a game server, UDP). So that wouldn't help there, I guess.</p>
<p dir="auto">That's why I was looking more into a way of queueing the traffic, just "getting it all in" but in a queue, and randomly drop packets from it, allowing some of them, just enough to not saturate de game server receiving them but also enough to give chance to legitimate incoming connections to come in.</p>
<p dir="auto">For that I have been looking in the traffic shaping options, and the algorithms there like Random Early Detection, etc. But I'm not entirely sure on how to setup it for incoming traffic on public ip 81.1.2.3 and port 1111 (example ip and port for where the server resides).</p>
<p dir="auto">Is that too crazy? I'm happy if you could provide me any pointers.</p>
<p dir="auto">Thanks.</p>
]]></description><link>https://forum.netgate.com/post/956673</link><guid isPermaLink="true">https://forum.netgate.com/post/956673</guid><dc:creator><![CDATA[AdrianX]]></dc:creator><pubDate>Wed, 13 Jan 2021 07:39:45 GMT</pubDate></item><item><title><![CDATA[Reply to Limiting&#x2F;queueing UDP traffic to specific port to avoid DoS (UDP spoofing) on Wed, 13 Jan 2021 07:27:13 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/adrianx">@<bdi>adrianx</bdi></a></p>
<p dir="auto">max src states is supposed to limit the amount of states for each individual host .... odd that it would lock out legitimate requests</p>
]]></description><link>https://forum.netgate.com/post/956670</link><guid isPermaLink="true">https://forum.netgate.com/post/956670</guid><dc:creator><![CDATA[heper]]></dc:creator><pubDate>Wed, 13 Jan 2021 07:27:13 GMT</pubDate></item><item><title><![CDATA[Reply to Limiting&#x2F;queueing UDP traffic to specific port to avoid DoS (UDP spoofing) on Wed, 13 Jan 2021 00:55:00 GMT]]></title><description><![CDATA[<p dir="auto">If I set max src states, then the attack completely fills the state table and new legitimate requests never get in.</p>
]]></description><link>https://forum.netgate.com/post/956637</link><guid isPermaLink="true">https://forum.netgate.com/post/956637</guid><dc:creator><![CDATA[AdrianX]]></dc:creator><pubDate>Wed, 13 Jan 2021 00:55:00 GMT</pubDate></item><item><title><![CDATA[Reply to Limiting&#x2F;queueing UDP traffic to specific port to avoid DoS (UDP spoofing) on Tue, 12 Jan 2021 21:57:14 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/adrianx">@<bdi>adrianx</bdi></a> said in <a href="/post/956618">Limiting/queueing UDP traffic to specific port to avoid DoS (UDP spoofing)</a>:</p>
<blockquote>
<p dir="auto">his is just 1 packet, and it's the same one used in the attack).</p>
</blockquote>
<p dir="auto">you could possibly try to limit the number of states each host can generate by setting the <strong>Max. src. states</strong> in your current pass-rule.</p>
<p dir="auto">If you want to prevent exausting your states &amp; killing your firewall, you could also set <strong>Max. states</strong></p>
<p dir="auto">i doubt any of this will solve your issue. i suggest you talk to your isp. DDOS is best handled upstream</p>
]]></description><link>https://forum.netgate.com/post/956623</link><guid isPermaLink="true">https://forum.netgate.com/post/956623</guid><dc:creator><![CDATA[heper]]></dc:creator><pubDate>Tue, 12 Jan 2021 21:57:14 GMT</pubDate></item></channel></rss>