Назад | Перейти на главную страницу

Просмотр подключений NAT с помощью nftables

Как отслеживать исходящие соединения nat с помощью nftables. Достаточно посмотреть на статистику, какие адреса вывода используются более-менее.

root@nat-1:~# nft list table nat
table ip nat {
    chain post {
            type nat hook postrouting priority 100; policy accept;
            ip saddr 10.0.0.0/8 oif "bond0.926" snat to 19.246.159.1-19.246.159.7
    }

    chain pre {
            type nat hook prerouting priority -100; policy accept;
    }
}

netstat-nat больше работает с iptables, но не с nftables.

netstat-nat -S
Could not read info about connections from the kernel, make sure netfilter is enabled in kernel or by modules.

Я, конечно, могу использовать tcpdump, но должна быть какая-нибудь более приятная утилита ;-)

iptables или столы не выполняют NAT: сетевой фильтр Является ли. iptables и столы используют крючки в сетевой фильтр отдать «приказы» для создания новых состояний NAT. После этого все обрабатывается непосредственно сетевой фильтр (поэтому для обоих iptables и столы, виден только первый пакет таблицы / типа nat). Таким образом, хранителем состояния NAT является netfilter и его подсистема conntrack.

Сейчас, netstat-nat использует предоставленный ядром файл /proc/net/nf_conntrack для отображения информации conntrack. Если этот файл недоступен (например: не имеет полных привилегий root, запускается в контейнере, не отображая эту часть /proc и т. д.) вы можете получить ошибку. Я не знаю, почему это не так, но в любом случае вот конкретный бэкэнд-инструмент conntrack: conntrack (из Conntrack-Tools), который полагается исключительно на новый API (netlink) скорее, чем /proc. На его странице руководства эквивалентная команда (конечно, с совершенно другим выводом) будет:

conntrack -L -n

КОМАНДЫ
[...]
-L --дамп
Список отслеживания соединений или таблица ожидания
[...]
-E, --event
Отображение журнала событий в реальном времени.
[...]

ПАРАМЕТРЫ ФИЛЬТРА
[...]
-n, --src-nat
Фильтрация исходных соединений NAT.

Вы даже можете следить за состояниями NAT источника в режиме реального времени, используя режим событий:

conntrack -E -n