Проблема
Сервер Minecraft через WireGuard туннель. TPS 20, CPU отдыхает, трафик 5 Мбит/с из 500. Но игроки зависают на 1-3 секунды периодически.
Первая мысль - DDoS.
Проверка
netstat -ntu | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -nr
# Результат: никакого флуда
cat /proc/sys/net/netfilter/nf_conntrack_count # 95 из 65536DDoS отпадает
netstat -su | grep -i error
# 34 packet receive errors
# 34 receive buffer errors
sysctl net.core.rmem_max # 212992 (208 KB)
208 KB буфер в 2025 году. Любой burst → переполнение → дроп пакетов → лаги.
ip -s link show wg0
# TX: errors 1095, dropped 20
WireGuard не справляется с дефолтными настройками.
Решение
sudo sysctl -w net.core.rmem_max=16777216
sudo sysctl -w net.core.rmem_default=16777216
sudo sysctl -w net.core.wmem_max=16777216
sudo sysctl -w net.core.wmem_default=16777216
sudo sysctl -w net.core.netdev_max_backlog=5000
# Фиксим MTU
sudo ip link set wg0 mtu 1380
Мораль
Метрики CPU/RAM/bandwidth не покажут проблему. Дефолтные настройки Linux для VPN туннелей - не очень. Проверяйте netstat -su первым делом.
Cloud провайдер не виноват. DDoS тут не при чем. Просто ядро дропало пакеты из-за маленьких буферов.