Jump to content

Recommended Posts

Posted (edited)

Добрый день, коллеги

Поднял 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 в пике было занято.

Edited by Macro
Posted

Немного неверно вопрос поставлен.

 

sysctl net.netfilter.nf_conntrack_max - максимально возможное число трансляций

sysctl net.netfilter.nf_conntrack_count - текущее число трансляций

 

Это все что нужно мониторить.

Posted (edited)

Почему же?

А возможный случай, когда закончатся свободные порты и внешние IP закончатся?

Тем более при условии правила --persistent ?

 

sysctl net.netfilter.nf_conntrack_max - это показатель только для количества трансляций, только IP и порты могут закончиться раньше чем количество трансляций достигнет максимума.

 

Да увидел, что max вместо count был, исправил, но вопрос мониторинга свободных IP и портов не снимается.

Edited by Macro
Posted
39 минут назад, Macro сказал:

А возможный случай, когда закончатся свободные порты и внешние IP закончатся?

посмотрите conntrack-tools:
conntrack -S/conntrack -C
может ещё что  полезное из ss -s можно взять

Posted
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.

  • 2 weeks later...
Posted (edited)

Пологаю можно ещё получить любопытную статистику по результатам работы 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 минут. Так же наверное, правильным будет учесть живучесть сессии, при временном диапазоне.

Edited by bomberman

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...
На сайте используются файлы cookie и сервисы аналитики для корректной работы форума и улучшения качества обслуживания. Продолжая использовать сайт, вы соглашаетесь с использованием файлов cookie и с Политикой конфиденциальности.