nftables на VPS: современный firewall вместо iptables
Настройка nftables на Linux VPS: базовые правила, SSH, HTTP/HTTPS, rate limit. Замена UFW и iptables в 2026.
Краткий ответ: nftables — наследник iptables в ядре Linux. Один синтаксис, таблицы inet, встроенный set для блокировок. На свежем Ubuntu 24.04 и Debian 12 — default.
UFW — обёртка над iptables/nftables. Понимание nftables даёт контроль: rate limit SSH, geo-блок (опционально), интеграция с Fail2ban и CrowdSec.
UFW vs nftables
| UFW | nftables | |
|---|---|---|
| Простота | Высокая | Средняя |
| Rate limit | Сложно | natively |
| Sets / блок-листы | Ограничено | Да |
| Debian 12 default | nft backend | Да |
Для новичка — UFW из гайда по защите. Для production — nftables ruleset в git.
Базовый ruleset
#!/usr/sbin/nft -f
flush ruleset
table inet filter {
set blocked_ips {
type ipv4_addr
flags timeout
timeout 1h
}
chain input {
type filter hook input priority filter; policy drop;
iif "lo" accept
ct state established,related accept
ip protocol icmp accept
ip6 nexthdr icmpv6 accept
tcp dport 22 ct state new limit rate over 6/minute add @blocked_ips { ip saddr } drop
tcp dport { 22, 80, 443 } accept
}
chain forward {
type filter hook forward priority filter; policy drop;
}
chain output {
type filter hook output priority filter; policy accept;
}
}
sudo nft -f /etc/nftables.conf
sudo systemctl enable nftables
Важно: перед policy drop держите вторую SSH-сессию открытой.
Разрешить Docker
Docker манипулирует iptables/nftables. При Docker Compose добавьте:
chain input {
# ... existing rules ...
iifname "docker0" accept
}
Или используйте docker run --network host только где нужно. Traefik слушает 80/443 на хосте.
Fail2ban + nftables
# /etc/fail2ban/jail.local
[sshd]
banaction = nftables-multiport
CrowdSec bouncer тоже поддерживает nftables — см. CrowdSec.
Логирование dropped
chain input {
counter drop
}
journalctl -k | grep nft
Централизация — journalctl и Loki.
IPv6
table inet filter {
chain input {
tcp dport { 22, 80, 443 } accept
}
}
inet покрывает IPv4 и IPv6 одной таблицей — проще чем отдельные ip/ip6 tables в iptables.
Чеклист безопасности VPS
- nftables: drop by default, только 22/80/443
- SSH: ключи, PermitRootLogin no
- Fail2ban
- Автообновления security
- VPN admin вместо открытого SSH (опционально)
Итог
nftables — стандарт firewall на Linux VPS в 2026. Один конфиг в git, rate limit SSH, интеграция с Fail2ban — база перед деплоем приложений.
VPS — StormNet Cloud. Полный чеклист — защита VPS. Мониторинг атак — CrowdSec.
Рекомендуем прочитать
Частые вопросы
nftables или UFW на VPS?
UFW проще для старта. nftables — больше контроля: rate limit, sets, единый inet для IPv4/IPv6.
Заменяет ли nftables Fail2ban?
Нет. nftables фильтрует трафик, Fail2ban банит IP по логам атак. Используйте оба слоя.






