@kkursor @NTPman @apuls
There is no any filtering and âban scritptâ wonât help, donât waste your time.
I researched traffic dumps, soooooooo
Pool settings: 512k
Real incoming traffic to server: 10Mbps - 855 Mbps
Real packets per second (pps) server get: variable 30,000 - 1,800,000, Most of them have different source ip.
I think any home connections and hardware will be overloaded with this traffic/pps. Any hosting and VPS also will kick you with such traffic/pps too.
25 percent of packets is ICMP port xxx unreacheble.packets
internet ->server: ntp request from port xxxxx to 123
server -> internet: ntp reply to port xxxxx
internet - > ICMP port xxxx unreachable
sometimes the icmp comes from the host that requested the time, sometimes from the transit hosts. Looks like ntp traffic are dropped (with icmp) on firewalls or intâs a spoofed source of bad NAT. In one munute I get ~900 000 (nine hundred thousand) uniq ip that send icmp to me. Wow.
It doesnât matter whether you make restrictions in the firewall/NAT translations or in the NTP daemon settings. This wonât help you. 1.8 million packets per second are comes to you hardware and will be processed by router and server NIC+CPU. No options, they have already arrived. Even if you drop them in iptables it is still load CPU. Itâs like DDoS.
On my server I have ~40% of softIRQ = network packets processing (+ 60% chrony) CPU load and itâs 100% on all 4-core 2.66Ghz CPU. Even I drop all ICMP on external firewall, server cpu load reaches 100% on ~300 000 queries per second. Even with chrony instance per core + linux tuning + good Intel NIC with hardware network offloading and tuning.
Another server administrator get 100% load at E-2246G (6-core 3.6GHz) in a similar configuration. All other tasks on the server died. HuhâŚ
Over 1 million packets per second just kills CPU, no options.
Also packet rate-limitating (mrulist in ntpd/ntpsec) in the NTP daemon are available by default And itself wonât help either when more than a million different source IP come in per second. Each IP will need a little bit of memory in list and CPU processing. By default mrulist have limited size and you need tune it for million different sourceIPâs per second.
Thatâs need gigabytes of memory and CPU processing. And this will not in any way eliminate the need to process packets that have already arrived to the server. Even complicates processing.
Well, good luck to all of us.