Как управлять брандмауэрами и nftables — от базового до продвинутого уровня?
Управление и настройки брандмауэра nftables Это крайне важно для любого системного администратора, специалиста по DevOps или владельца сервера. В этом руководстве мы рассмотрим техническую и операционную терминологию от основ до сложных сценариев, а также практические примеры и файлы конфигурации.
- Как управлять брандмауэрами и nftables — от базового до продвинутого уровня?
- Основные понятия nftables
- Почему именно nftables?
- Быстрый старт: установка, проверка и сохранение правил.
- Практический пример: базовый набор правил (для сервера Linux).
- Управление наборами и временными блоками
- NAT, переадресация портов и маскировка.
- Противодействие DDoS- и SYN-атакам
- Правила ведения журналов и мониторинга
- Практические советы по безопасности
- Практические советы для различных применений
- Практические советы по внедрению и обслуживанию.
- Инструменты и отладка
- Заключение и практические рекомендации
- Часто задаваемые вопросы
Основные понятия nftables
nftables Для создания набора правил необходимо ознакомиться с определенными компонентами:
- семья: Семейство протоколов (например, интернет Для одновременной работы с IPv4 и IPv6 (ip, ip6, arp, bridge).
- стол: Контейнер правил (например, фильтр интернета).
- цепь: Цепочка правил с указанием типа (вход, пересылка, выход) и приоритета.
- правилоУсловия и действия (принять, отклонить, отклонить, счетчик, записать в журнал).
- набор / карта: Коллекции для хранения IP-адресов, портов или значений для быстрого сопоставления.
- коннтрекерОтслеживание статуса соединения (установлено, связано, новое, недействительно).
Почему именно nftables?
Основные причины выбора nftables К ним относятся:
- Одновременная поддержка IPv4 и IPv6. Использование семьи интернет.
- Улучшенная производительность И возможность атомная замена Для безопасной загрузки набора правил.
- Поддержка для Наборы с тайм-аутом и карты Для расширенных возможностей NAT.
- Совместимость с iptables через слой совместимости в новых дистрибутивах.
Быстрый старт: установка, проверка и сохранение правил.
Основные команды для проверки, загрузки и сохранения наборов правил:
nft --version
nft list ruleset
nft -f /etc/nftables.conf
nft list ruleset > /etc/nftables.conf
systemctl enable --now nftablesПрактический пример: базовый набор правил (для сервера Linux).
Рекомендуемый файл /etc/nftables.conf, использующий семейство интернет Для охвата протоколов IPv4 и IPv6:
table inet filter {
set allowed_ssh {
type ipv4_addr; flags timeout;
}
chain input {
type filter hook input priority 0;
policy drop;
# loopback
iif "lo" accept
# established/related
ct state established,related accept
# ICMP/ICMPv6
ip protocol icmp accept
ip6 nexthdr ipv6-icmp accept
# Allow SSH with rate limit & whitelist
tcp dport 22 ct state new limit rate 3/minute accept
ip saddr @allowed_ssh accept
# HTTP/HTTPS
tcp dport { 80, 443 } ct state new accept
# DNS
udp dport 53 accept
tcp dport 53 accept
# log and drop others
counter log prefix "nft-drop: " flags all drop
}
chain forward {
type filter hook forward priority 0; policy drop;
}
chain output {
type filter hook output priority 0; policy accept;
}
}Объяснение: Этот базовый набор правил разрешает использование обратной связи, существующих соединений, SSH (с ограничением скорости), HTTP/HTTPS и DNS, а остальной трафик регистрируется и отбрасывается. установить allowed_ssh Подходит для добавления IP-адресов в белый список с таймаутом.
Управление наборами и временными блоками
Создание и управление наборами данных для белого или черного списка очень полезно. Примеры:
nft add element inet filter allowed_ssh { 203.0.113.5 timeout 1h }
nft list set inet filter allowed_sshДля временной блокировки злоумышленников установите флаг. тайм-аут Создавайте и добавляйте IP-адреса на определенный период времени.
NAT, переадресация портов и маскировка.
Пример NAT для VPS, который предоставляет доступ к нескольким сервисам через частный IP-адрес:
table ip nat {
chain prerouting {
type nat hook prerouting priority 0;
tcp dport 2222 dnat to 10.0.0.10:22
tcp dport 8443 dnat to 10.0.0.20:443
}
chain postrouting {
type nat hook postrouting priority 100;
oif "eth0" masquerade
}
}Примечание: В облачных архитектурах с несколькими адресами используйте маскировку или NAT источника для исходящего трафика. Для IPv6 используйте соответствующее сопоставление DNAT или CIDR.
Противодействие DDoS- и SYN-атакам
nftables обладает функциями ограничения скорости и управления потоками данных, которые можно использовать для смягчения последствий атак.
# allow limited number of new SYNs per second
tcp flags syn ct state new limit rate 10/second burst 20 accept
# synproxy can be used in extreme cases (kernel feature)
# nftables can match and direct traffic to synproxy or other mitigationsДля крупномасштабных атак целесообразно использовать комбинацию межсетевого экрана и сервера (nftables) с Сетевой уровень защиты от DDoS-атак Наилучший подход — фильтровать вредоносный трафик до того, как он достигнет сервера.
Правила ведения журналов и мониторинга
Полезные инструменты и команды для мониторинга:
- Отобразить счетчики для каждого правила: набор правил списка NFT.
- Включить логирование с указанием префикса и ограничением скорости:
nft add rule inet filter input tcp dport 22 counter log prefix "ssh-drop: " limit rate 10/minute dropДругие инструменты: journalctl -f -u nftables, tcpdump, tshark, и монитор НФТ.
Практические советы по безопасности
Несколько важных практических советов:
- Всегда делайте резервные копии: Перед развертыванием, вывод набор правил списка NFT Сохранять.
- Используйте атомарную загрузку: nft -f /etc/nftables.conf Загружает файл атомарно.
- Предотвращение блокировок SSH: Установите временное правило приема для вашего IP-адреса или используйте внешнюю консоль.
- Автоматический скрипт отмены: При внесении конфиденциальных изменений настройте автоматический откат, если они не будут подтверждены.
Практические советы для различных применений
Для администраторов WordPress и веб-сайтов
Открывайте только необходимые порты (80/443/22). Используйте ограничения скорости для форм авторизации и XML-RPC, а также создайте набор штрафных IP-адресов для предотвращения атак методом перебора паролей. Рекомендуется использовать комбинацию с CDN и WAF.
Для программистов и специалистов по DevOps
От семьи интернет Используйте поддержку IPv4/IPv6 для одновременного развертывания. Храните правила в системе контроля версий и используйте CI/CD для автоматизированного развертывания. Используйте загрузку файлов и быстрый откат для тестирования изменений.
Для трейдеров (VPS для торговли)
Выберите местоположение как можно ближе к брокеру или серверам обмена для обеспечения минимальной задержки. Ограничьте входящий и исходящий трафик необходимыми IP-адресами и используйте белый список, чтобы предотвратить закрытие портов во время обновлений.
Для геймеров (игровой VPS)
Откройте необходимые для игры UDP-порты и оптимизируйте таймауты conntrack для UDP. Если вам нужен NAT, используйте flowtable для повышения производительности и выберите местоположение с низким пингом.
Для облачных вычислений с использованием ИИ и графических процессоров
Разрешите доступ к портам управления (SSH, Kubernetes API) только с определенных IP-адресов. В распределенных средах определите правила взаимодействия между узлами и проверьте производительность conntrack. Для обеспечения безопасности и высокой пропускной способности рекомендуется использовать частную сеть и BGP/частные VLAN.
Практические советы по внедрению и обслуживанию.
Несколько практических советов по процессу технического обслуживания:
- Перед внесением изменений всегда создавайте резервную копию набора правил.
- Использование атомная замена С nft -f /etc/nftables.conf.
- Перед внесением конфиденциальных изменений установите временное правило разрешения для управляющего IP-адреса.
- Настройте cron или systemd-timer для автоматического отката в случае неполучения подтверждения.
Инструменты и отладка
Основные инструменты для отладки и мониторинга:
- набор правил списка NFT
- монитор НФТ / трассировка монитора НФТ
- ss -tunlp Для отображения портов
- conntrack -L Из пакета conntrack-tools
- tcpdump Или tshark Для захвата пакетов
Заключение и практические рекомендации
nftables — это мощный инструмент, который делает управление брандмауэром современным, быстрым и гибким. Используя семейство инструментов, интернетС помощью настроек, ограничений скорости и ConnTrack можно создать эффективный уровень защиты, подходящий для веб-серверов, VPS-серверов, торговых площадок, игр и облачных сервисов с использованием графических процессоров.
Наряду с настройкой серверов, сочетание с сетевыми сервисами, такими как CDN, защита от DDoS-атак и BGP, предоставляемыми более чем в 85 точках по всему миру, обеспечивает более высокий уровень безопасности и доступности.









