Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
Такое чувство, что уже видел эту статью, именно в переводе, а так же возмущение по поводу nft, что он "всё равно круче"
Хм...
Есть вариант ещё эффективнее — просто выдернуть кабель :)
/sbin/iptables -A INPUT -p udp -m limit --limit 1/s --limit-burst 1000 --dport 53 -j ACCEPT
/sbin/iptables -A INPUT -p udp -m udp --dport 0:32767 -j DROP
Остальные характеристики сервера не так важны, потому что мы хотим акцентировать внимание на ограничениях системы, а не железа.
The hardware details aren't too important, since the tests are prepared to show the operating system, not hardware, limitations.
$ tcpdump -ni vlan100 -c 10 -t udp and dst port 1234
IP 198.18.40.55.32059 > 198.18.0.12.1234: UDP, length 16
IP 198.18.51.16.30852 > 198.18.0.12.1234: UDP, length 16
IP 198.18.35.51.61823 > 198.18.0.12.1234: UDP, length 16
IP 198.18.44.42.30344 > 198.18.0.12.1234: UDP, length 16
IP 198.18.106.227.38592 > 198.18.0.12.1234: UDP, length 16
IP 198.18.48.67.19533 > 198.18.0.12.1234: UDP, length 16
IP 198.18.49.38.40566 > 198.18.0.12.1234: UDP, length 16
IP 198.18.50.73.22989 > 198.18.0.12.1234: UDP, length 16
IP 198.18.43.204.37895 > 198.18.0.12.1234: UDP, length 16
IP 198.18.104.128.1543 > 198.18.0.12.1234: UDP, length 16
— A ты знаешь что значит 1488?
— Ха, конечно! 14.88 Mpps это максимальный пакетрейт через 10G интерфейс!
Если использовать DPDK, то можно получить гораздо большую производительность, потому что не нужно будет протаскивать данные из сети через ядро. Довольно легко утилизировать всю пропускную способность 10G мелкими пакетами, а на более старших сетевушках выходит более 20 Mpps на ядро.
Как отбрасывать 10 миллионов пакетов в секунду