Macro Опубликовано 4 апреля, 2018 (изменено) · Жалоба Добрый день, коллеги Поднял NAT на Debian 9.3, покрутил параметры sysctl, подключил ipt_NETFLOW. Встал вопрос мониторинга, через sysctl net.netfilter.nf_conntrack_max net.netfilter.nf_conntrack_count - получаю текущее количество нат трансляций. А как получить количество свободных IP? На циске это бралось из вывода команды: show ip nat translations total Всего 60 IP на сервере, НАТю так: -A POSTROUTING -s 10.2.0.0/15 -o vlanXXX -j SNAT --to-source xx.xx.xx.3-xx.xx.xx.62 --persistent net.netfilter.nf_conntrack_count = 345683 Трафик до 3 Гб/с, клиентов за НАТ несколько тысяч. На циске 90 IP в пике было занято. Изменено 4 апреля, 2018 пользователем Macro Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
kayot Опубликовано 4 апреля, 2018 · Жалоба Немного неверно вопрос поставлен. sysctl net.netfilter.nf_conntrack_max - максимально возможное число трансляций sysctl net.netfilter.nf_conntrack_count - текущее число трансляций Это все что нужно мониторить. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Macro Опубликовано 4 апреля, 2018 (изменено) · Жалоба Почему же? А возможный случай, когда закончатся свободные порты и внешние IP закончатся? Тем более при условии правила --persistent ? sysctl net.netfilter.nf_conntrack_max - это показатель только для количества трансляций, только IP и порты могут закончиться раньше чем количество трансляций достигнет максимума. Да увидел, что max вместо count был, исправил, но вопрос мониторинга свободных IP и портов не снимается. Изменено 4 апреля, 2018 пользователем Macro Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
anix Опубликовано 4 апреля, 2018 · Жалоба 39 минут назад, Macro сказал: А возможный случай, когда закончатся свободные порты и внешние IP закончатся? посмотрите conntrack-tools: conntrack -S/conntrack -C может ещё что полезное из ss -s можно взять Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
kayot Опубликовано 4 апреля, 2018 · Жалоба 3 часа назад, Macro сказал: А возможный случай, когда закончатся свободные порты и внешние IP закончатся? Тем более при условии правила --persistent ? sysctl net.netfilter.nf_conntrack_max - это показатель только для количества трансляций, только IP и порты могут закончиться раньше чем количество трансляций достигнет максимума. Да увидел, что max вместо count был, исправил, но вопрос мониторинга свободных IP и портов не снимается. Давайте с начала. 1. В линуксовом НАТе нет понятия свободных и занятых IP. Запросы любого количества клиентов равномерно размазываются по выделенному блоку адресов, в вашем случае 60шт. Будет 60 клиентов - каждый получит уникальный IP(грубо говоря, реально это не совсем так), будет их 60.000 - получите распределение 1000 клиентов на 1 внешний IP. 2. В линуксовом же НАТе трансляции не привязываются к открытым портам(так когда-то в BSD вроде было?). Можно держать миллионы трансляций на 1 сером IP без каких-либо ограничений. Итого, мониторить нужно только загрузку CPU и размер таблицы conntrack. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
bomberman Опубликовано 13 апреля, 2018 (изменено) · Жалоба Пологаю можно ещё получить любопытную статистику по результатам работы ipt_NETFLOW. К примеру выбирая кол-во созданных,удалённых сессий по каждому ip из диапазона --persistent (это если интересно смотреть распределение по внешним ip.) ну и прочие выриации с выборкой статистики из netflow/ipfix. к примеру количество трансляций в xx.xx.xx.3 и статусом CREATE: nfdump -T -r nat/nfcapd.current.288 'src nip xx.xx.xx.3 and nat event add' | wc -l количество ip транслирующихся в xx.xx.xx.3 nfdump -T -r nat/nfcapd.current.288 'src nip x.x.x.3' -s srcip -n 0 | wc -l Можно расширить выбирая по критерию интересующих портов назначения. В общем, тут зависит от фантазии и потребности. Правильнее будет делать выбор во временной промежуток. Или по последнему файлу, если ротация файла каждые 5 минут, то получим статистику за послеине 5 минут. Так же наверное, правильным будет учесть живучесть сессии, при временном диапазоне. Изменено 13 апреля, 2018 пользователем bomberman Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...