Перед началом
- Используйте только один менеджер межсетевого экрана. Не управляйте правилами напрямую через nftables, пока работает UFW или firewalld. Если предпочитаете более простой инструмент, см. UFW (Uncomplicated Firewall).
- Docker, WireGuard, панели VPN и другое ПО могут добавлять собственные правила. Пример ниже начинается с
flush ruleset: эта команда удалит такие правила, пока соответствующее ПО не добавит их снова.
Установка и проверка nftables
Создание базового набора правил
Сохраните резервную копию текущего файла конфигурации:/etc/nftables.conf для редактирования:
inet охватывает IPv4 и IPv6:
22 на фактический порт SSH. Добавьте или удалите порты служб по необходимости. Сохраните правило ICMP, поскольку для работы IPv6 необходим ICMPv6.
Цепочка
forward блокирует маршрутизируемый трафик. Если VPS маршрутизирует трафик VPN или контейнеров, добавьте для него правила пересылки либо используйте правила из руководства по вашей VPN.Проверка и применение правил
Проверьте синтаксис без применения правил:Ограничение доступа к службе доверенным адресом
Например, замените правило SSH правилом, разрешающим SSH только с известного адреса администратора:ip6 saddr. Удаляйте более широкое правило tcp dport 22 accept только после проверки доступа с доверенного адреса.
Восстановление доступа при блокировке соединения
- Войдите через консоль VNC.
- Исправьте
/etc/nftables.confили восстановите резервную копию командойsudo cp /etc/nftables.conf.bak /etc/nftables.conf. - Загрузите правила заново:
sudo nft -f /etc/nftables.conf.