<div dir="ltr"><p dir="ltr">Have you checked your nfnetlink_queue for dropped packets?</p>
<p dir="ltr">From <a href="https://home.regit.org/netfilter-en/using-nfqueue-and-libnetfilter_queue/" target="_blank">https://home.regit.org/netfilter-en/using-nfqueue-and-libnetfilter_queue/</a> :</p>
<p dir="ltr"><span style="color:rgb(51,51,51);font-family:Arial,Helvetica,sans-serif;font-size:18.5136px;line-height:1.1em">nfnetlink_queue entry in /proc</span></p><p style="margin:0px 0px 1.5em;padding:0px;border:0px;outline:0px;font-size:13.92px;color:rgb(0,0,0);font-family:Arial,Helvetica,sans-serif;line-height:22.272px">nfnetlink_queue has a dedicated entry in /proc: <code style="margin:0px;padding:0px;border:0px;outline:0px;font-size:13.92px;font-family:'Courier New',Courier,Monaco,'Lucida Console',monospace;overflow:auto;background-color:rgb(247,247,247)">/proc/net/netfilter/nfnetlink_queue</code></p><pre style="margin-top:1.5em;margin-bottom:1.5em;padding:1em;border:1px solid rgb(221,221,221);outline:0px;font-size:13.92px;font-family:'Courier New',Courier,Monaco,'Lucida Console',monospace;overflow:auto;line-height:1.5em;border-radius:5px;color:rgb(0,0,0);background-color:rgb(247,247,247)">cat /proc/net/netfilter/nfnetlink_queue 
   40  23948     0 2 65531     0     0      106  1
</pre><span style="color:rgb(0,0,0);font-family:Arial,Helvetica,sans-serif;font-size:13.92px;line-height:22.272px">The content is the following:</span><ul style="margin:0.5em 0px 1.5em 1.5em;padding:0px 0px 0px 20px;border:0px;outline:0px;font-size:13.92px;color:rgb(0,0,0);font-family:Arial,Helvetica,sans-serif;line-height:22.272px"><li style="margin:0px;padding:0px;border:0px;outline:0px;font-size:13.92px">queue number</li><li style="margin:0px;padding:0px;border:0px;outline:0px;font-size:13.92px">peer portid: good chance it is process ID of software listening to the queue</li><li style="margin:0px;padding:0px;border:0px;outline:0px;font-size:13.92px">queue total: current number of packets waiting in the queue</li><li style="margin:0px;padding:0px;border:0px;outline:0px;font-size:13.92px">copy mode: 0 and 1 only message only provide meta data. If 2 message provide a part of packet of size copy range.</li><li style="margin:0px;padding:0px;border:0px;outline:0px;font-size:13.92px">copy range: length of packet data to put in message</li><li style="margin:0px;padding:0px;border:0px;outline:0px;font-size:13.92px">queue dropped: number of packets dropped because queue was full</li><li style="margin:0px;padding:0px;border:0px;outline:0px;font-size:13.92px">user dropped: number of packets dropped because netlink message could not be sent to userspace. If this counter is not zero, try to increase netlink buffer size. On the application side, you will see gap in packet id if netlink message are lost.</li><li style="margin:0px;padding:0px;border:0px;outline:0px;font-size:13.92px">id sequence: packet id of last packet</li><li style="margin:0px;padding:0px;border:0px;outline:0px;font-size:13.92px"><span style="font-size:13.92px;line-height:22.272px">1</span></li></ul>
<div class="gmail_quote">I've never tried to run suricata in IPS mode using netfilter queues, but I did run snort for a while like that. I recall that the maximum queue length (on a ubuntu machine, at least) was 5000 packets. You could up this with a sysctl somehow, but I don't remember the setting offhand.</div><div class="gmail_quote"><br></div><div class="gmail_quote">Peter</div><div class="gmail_quote"><br></div><div class="gmail_quote">On Oct 7, 2015 9:44 AM, "Xavier Romero" <<a href="mailto:XRomero@nexica.com" target="_blank">XRomero@nexica.com</a>> wrote:<br type="attribution"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">





<div lang="CA" link="blue" vlink="purple">
<div>
<p class="MsoNormal"><span lang="EN-GB">Hello,<u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-GB"><u></u> <u></u></span></p>
<p class="MsoNormal"><span lang="EN-GB">I’m successfully running Suricata (detection mode) for a long time in a dedicated physical machine, processing about 2 Gbps with no problem.<u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-GB">Now I need to set up another Suricata box for inline mode as a virtual machine (just for 50Mbps), it’s a small VM (CentOS 7, 2 CPUs & 2 GB RAM) but it should be enough thought. I set up iptables that way:<u></u><u></u></span></p>
<p class="MsoNormal"><i><span lang="EN-GB" style="font-family:Consolas"><u></u> <u></u></span></i></p>
<p class="MsoNormal"><i><span lang="EN-GB" style="font-family:Consolas">iptables -I FORWARD -j NFQUEUE --queue-bypass --queue-balance 0:1<u></u><u></u></span></i></p>
<p class="MsoNormal"><span lang="EN-GB"><u></u> <u></u></span></p>
<p class="MsoNormal"><span lang="EN-GB">My problem is, when I start Suricata on inline mode, the network throughput drops dramatically…  I run internet speed test<u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-GB"><u></u> <u></u></span></p>
<p class="MsoNormal"><i><span lang="EN-GB" style="font-family:Consolas">[15:24:30][admin@test ~]$ ./speedtest-cli<u></u><u></u></span></i></p>
<p class="MsoNormal"><i><span lang="EN-GB" style="font-family:Consolas">Retrieving <a href="http://speedtest.net" target="_blank">speedtest.net</a> configuration...<u></u><u></u></span></i></p>
<p class="MsoNormal"><i><span lang="EN-GB" style="font-family:Consolas">Retrieving <a href="http://speedtest.net" target="_blank">speedtest.net</a> server list...<u></u><u></u></span></i></p>
<p class="MsoNormal"><i><span lang="EN-GB" style="font-family:Consolas">Selecting best server based on latency...<u></u><u></u></span></i></p>
<p class="MsoNormal"><i><span lang="EN-GB" style="font-family:Consolas">Hosted by masmovil (Madrid) [0.00 km]: 13.574 ms<u></u><u></u></span></i></p>
<p class="MsoNormal"><i><span lang="EN-GB" style="font-family:Consolas">Testing download speed........................................<u></u><u></u></span></i></p>
<p class="MsoNormal"><i><span lang="EN-GB" style="font-family:Consolas;color:red">Download: 602.14 Mbit/s<u></u><u></u></span></i></p>
<p class="MsoNormal"><i><span lang="EN-GB" style="font-family:Consolas">Testing upload speed..................................................<u></u><u></u></span></i></p>
<p class="MsoNormal"><i><span lang="EN-GB" style="font-family:Consolas;color:red">Upload: 136.50 Mbit/s<u></u><u></u></span></i></p>
<p class="MsoNormal"><i><span lang="EN-GB" style="font-family:Consolas"><u></u> <u></u></span></i></p>
<p class="MsoNormal"><i><span lang="EN-GB" style="font-family:Consolas">[15:25:02][root@suricata ~]$
<span style="color:red">systemctl start suricata<u></u><u></u></span></span></i></p>
<p class="MsoNormal"><i><span lang="EN-GB" style="font-family:Consolas;color:red"><u></u> <u></u></span></i></p>
<p class="MsoNormal"><i><span lang="EN-GB" style="font-family:Consolas">[15:25:24][admin@test ~]$ ./speedtest-cli<u></u><u></u></span></i></p>
<p class="MsoNormal"><i><span lang="EN-GB" style="font-family:Consolas">Retrieving <a href="http://speedtest.net" target="_blank">speedtest.net</a> configuration...<u></u><u></u></span></i></p>
<p class="MsoNormal"><i><span lang="EN-GB" style="font-family:Consolas">Retrieving <a href="http://speedtest.net" target="_blank">speedtest.net</a> server list...<u></u><u></u></span></i></p>
<p class="MsoNormal"><i><span lang="EN-GB" style="font-family:Consolas">Selecting best server based on latency...<u></u><u></u></span></i></p>
<p class="MsoNormal"><i><span lang="EN-GB" style="font-family:Consolas">Hosted by masmovil (Madrid) [0.00 km]: 10.948 ms<u></u><u></u></span></i></p>
<p class="MsoNormal"><i><span lang="EN-GB" style="font-family:Consolas">Testing download speed........................................<u></u><u></u></span></i></p>
<p class="MsoNormal"><i><span lang="EN-GB" style="font-family:Consolas;color:red">Download: 14.18 Mbit/s<u></u><u></u></span></i></p>
<p class="MsoNormal"><i><span lang="EN-GB" style="font-family:Consolas">Testing upload speed..................................................<u></u><u></u></span></i></p>
<p class="MsoNormal"><i><span lang="EN-GB" style="font-family:Consolas;color:red">Upload: 3.08 Mbit/s<u></u><u></u></span></i></p>
<p class="MsoNormal"><span lang="EN-GB"><u></u> <u></u></span></p>
<p class="MsoNormal"><span lang="EN-GB">I’ve tried with 1 and 2 queues (-q 0 –q 1), and in both autofp and workers mode, no matter… always same results.
</span><span lang="EN-GB">Suricata threads does not consume much CPU, so it does not look like I need more cores.<u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-GB"><u></u> <u></u></span></p>
<p class="MsoNormal"><span lang="EN-GB">Neither dmesg, journctl, /var/log/messages nor suricata logs are complaing about anything.<u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-GB"><u></u> <u></u></span></p>
<p class="MsoNormal"><span lang="EN-GB">I’ve no idea where to look or what to try. Any suggestion will be wellcome.<u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-GB"><u></u> <u></u></span></p>
<p class="MsoNormal"><span lang="EN-GB">Best regards,<u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-GB">Xavier Romero<u></u><u></u></span></p>
</div>
</div>

<br>_______________________________________________<br>
Suricata IDS Users mailing list: <a href="mailto:oisf-users@openinfosecfoundation.org" target="_blank">oisf-users@openinfosecfoundation.org</a><br>
Site: <a href="http://suricata-ids.org" rel="noreferrer" target="_blank">http://suricata-ids.org</a> | Support: <a href="http://suricata-ids.org/support/" rel="noreferrer" target="_blank">http://suricata-ids.org/support/</a><br>
List: <a href="https://lists.openinfosecfoundation.org/mailman/listinfo/oisf-users" rel="noreferrer" target="_blank">https://lists.openinfosecfoundation.org/mailman/listinfo/oisf-users</a><br>
Suricata User Conference November 4 & 5 in Barcelona: <a href="http://oisfevents.net" rel="noreferrer" target="_blank">http://oisfevents.net</a><br></blockquote></div>
</div>