Категории

Как проверить цепочку iptables с помощью iptables-tracer

2025-10-20 16:07:36 | Статья из категории: Linux

iptables-tracer — это утилита командной строки для Linux, которая помогает отследить, какие правила iptables применяются к конкретному сетевому пакету. Она особенно полезна при отладке сложных правил фильтрации, когда сложно понять, почему пакет блокируется или пропускается.

В отличие от стандартных методов (например, логирования через -j LOG), iptables-tracer симулирует прохождение пакета через цепочки iptables и показывает путь в реальном времени — без отправки реального трафика.

Возможности

Установка

iptables-tracer не входит в стандартные репозитории большинства дистрибутивов, но его можно установить из исходного кода. Утилита написана на языке Rust.

1. Установите Rust (если ещё не установлен)

curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
source ~/.cargo/env

2. Установите зависимости

Для сборки потребуется libnetfilter-queue-dev и pkg-config:

# Ubuntu/Debian
sudo apt install libnetfilter-queue-dev pkg-config build-essential

# Fedora/RHEL
sudo dnf install libnetfilter_queue-devel pkg-config gcc

3. Соберите и установите iptables-tracer

git clone https://github.com/aleksandrs-m/iptables-tracer.git
cd iptables-tracer
cargo build --release
sudo cp target/release/iptables-tracer /usr/local/bin/

Готово! Теперь утилита доступна глобально.

Примеры использования

Пример 1: Проверить, как обрабатывается входящий SSH-пакет

sudo iptables-tracer --dport 22 --dst 192.168.1.10 --proto tcp --input eth0

Пример 2: Проверить исходящий HTTP-запрос

sudo iptables-tracer --sport 12345 --dport 80 --dst 93.184.216.34 --proto tcp --output eth0

Пример 3: Проверить UDP-пакет на порт 53 (DNS)

sudo iptables-tracer --dport 53 --dst 8.8.8.8 --proto udp --output eth0

Утилита выведет пошагово, какие цепочки и правила были задействованы, и где было принято окончательное решение (ACCEPT, DROP, REJECT и т.п.).

Важные замечания

Заключение

iptables-tracer — мощный инструмент для системных администраторов и инженеров безопасности, упрощающий диагностику правил файрвола. Он экономит время при отладке сложных конфигураций и помогает избежать ошибок, связанных с неправильной фильтрацией трафика.

Исходный код и документация: https://github.com/aleksandrs-m/iptables-tracer

Комментарии

Пока нет комментариев. Будьте первым!

Оставить комментарий

← Назад к списку статей

Важно: Блог-эксперимент

Блог только запустил, все статьи генерирую через нейросеть т.к. лень, возможны ошибки. Просто чтобы вы знали и не запускали ядерный реактор по моим статьям ))
Если у вас есть вопросы, или Нашли неточность? пишите в коментах — вместе поправим и сделаем статью более качественной. Я лично объясню нюансы из практики.

Посетителей сегодня: 0


Кто я | Контакты и регион

© Digital Specialist | Не являемся сотрудниками Google, Яндекса и NASA