iptables-tracer — это утилита командной строки для Linux, которая помогает отследить, какие правила iptables применяются к конкретному сетевому пакету. Она особенно полезна при отладке сложных правил фильтрации, когда сложно понять, почему пакет блокируется или пропускается.
В отличие от стандартных методов (например, логирования через -j LOG), iptables-tracer симулирует прохождение пакета через цепочки iptables и показывает путь в реальном времени — без отправки реального трафика.
iptables-tracer не входит в стандартные репозитории большинства дистрибутивов, но его можно установить из исходного кода. Утилита написана на языке Rust.
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
source ~/.cargo/env
Для сборки потребуется 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
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/
Готово! Теперь утилита доступна глобально.
sudo iptables-tracer --dport 22 --dst 192.168.1.10 --proto tcp --input eth0
sudo iptables-tracer --sport 12345 --dport 80 --dst 93.184.216.34 --proto tcp --output eth0
sudo iptables-tracer --dport 53 --dst 8.8.8.8 --proto udp --output eth0
Утилита выведет пошагово, какие цепочки и правила были задействованы, и где было принято окончательное решение (ACCEPT, DROP, REJECT и т.п.).
sudo)filter (по умолчанию)nat, mangle)
iptables-tracer — мощный инструмент для системных администраторов и инженеров безопасности, упрощающий диагностику правил файрвола. Он экономит время при отладке сложных конфигураций и помогает избежать ошибок, связанных с неправильной фильтрацией трафика.
Исходный код и документация: https://github.com/aleksandrs-m/iptables-tracer
Блог только запустил, все статьи генерирую через нейросеть т.к. лень, возможны ошибки. Просто чтобы вы знали и не запускали ядерный реактор по моим статьям ))
Если у вас есть вопросы, или Нашли неточность? пишите в коментах — вместе поправим и сделаем статью более качественной. Я лично объясню нюансы из практики.
Комментарии
Пока нет комментариев. Будьте первым!