iostream Posted November 20, 2015 Всем доброго времени суток! Возникла острая необходимость изучить и настроить логирование NAT. Если тема уже была и обсуждалась - прошу извинить - не нашел. В интернете тоже мало на эту тему дельного, поэтому решил спросить у коллег. Если ткнете носом в материалы для изучения (как настраивается и т.д) буду премного благодарен! :) Кто чем пользуется для логирования трансляций NAT? через что идет "поток" логирования - netflow? Сколько места выделять на сервере для логов? Нужен ли отдельный сервер? Какую систему ставить под сервер логирования (какие утилиты/пакеты/зависимости ставить)? Как логировать трансляции CGN - ведь там нет Outside global адресов в трансляции (и что делать тогда при запросе из ФСБ)? Вообщем вопросов у меня очень много - потому что я никогда не сталкивался с этим. Но буду очень рад научиться этому, поэтому прошу помощи!:) Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
Andrei Posted November 21, 2015 NAT-то на чем реализован? Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
iostream Posted November 21, 2015 NAT реализован на Cisco ASR Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
Andrei Posted November 21, 2015 У меня на cisco 7204vxr сделано так. На интересующих интерфейсах сделано ip flow ingress ip flow egress и глобально ip flow-export source FastEthernet0/0 ip flow-export version 5 ip flow-export destination 212.ххх.ххх.61 9996 Соответственно на сервере 212.ххх.ххх.61 стоит netams, который все это складывает в mysql-базу. Т.к. объем получается приличный и в соответствии с требованиями СОРМа, из этой базы раз в час все выгребается и кладется в ИС СОРМа, а сама база очищается. Вместо netams наверное можно поставить другой коллектор типа flow-tool и т.п. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
hsvt Posted November 21, 2015 У меня на cisco 7204vxr сделано так. На интересующих интерфейсах сделано ip flow ingressip flow egress и глобально ip flow-export source FastEthernet0/0ip flow-export version 5ip flow-export destination 212.ххх.ххх.61 9996 Соответственно на сервере 212.ххх.ххх.61 стоит netams, который все это складывает в mysql-базу. Т.к. объем получается приличный и в соответствии с требованиями СОРМа, из этой базы раз в час все выгребается и кладется в ИС СОРМа, а сама база очищается. Вместо netams наверное можно поставить другой коллектор типа flow-tool и т.п. А что такое ИС СОРМА, их хранилище какое то? От LB не используете LBucd и учитывать ресурс\порт? У нас загибается так же из-за объёма... Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
Andrei Posted November 21, 2015 А что такое ИС СОРМА, их хранилище какое то? Вот тут на днях обсуждали - http://forum.nag.ru/forum/index.php?showtopic=110203&view=findpost&p=1200518 От LB не используете LBucd и учитывать ресурс\порт? У нас загибается так же из-за объёма... Для тех абонентов, которые тарифицируются агентом LBucd, использую. База пухнет - да. :( Правда задачи учитывать порты не стоит, только ресурсы. Но у меня используется ЛБ для авторизации абонентов по pptp/pppoe (основная масса абонентов), это делает другой агент - LBarcd, а он не умеет собирать netflow. Вариант скрестить LBarcd и LBucd обсуждался вот тут http://forum.nag.ru/forum/index.php?showtopic=97064&view=findpost&p=1132660 , но я на него так и не решился, т.к. не откликнулся никто из тех, кто его на практике использовал. Представитель разработчика ЛБ тоже высказался супер кратко. Из всего этого я сделал вывод, что может функционал и есть, но быть его бета-тестером мне не захотелось. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
iostream Posted November 21, 2015 У меня на cisco 7204vxr сделано так. На интересующих интерфейсах сделано ip flow ingress ip flow egress и глобально ip flow-export source FastEthernet0/0 ip flow-export version 5 ip flow-export destination 212.ххх.ххх.61 9996 Соответственно на сервере 212.ххх.ххх.61 стоит netams, который все это складывает в mysql-базу. Т.к. объем получается приличный и в соответствии с требованиями СОРМа, из этой базы раз в час все выгребается и кладется в ИС СОРМа, а сама база очищается. Вместо netams наверное можно поставить другой коллектор типа flow-tool и т.п. Это же простой Netflow "всего"? Я думал, что именно для NAT идет отдельный поток Netflow.. Или я ошибаюсь? Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
Andrei Posted November 21, 2015 Это же простой Netflow "всего"? Я думал, что именно для NAT идет отдельный поток Netflow.. Или я ошибаюсь? Не понял вопрос. Если для СОРМа, то netflow надо снимать ДО NAT-а. В моем случае я делаю ip flow и тут interface Virtual-Template1 description PPTP VPN template interface ip unnumbered Loopback0 ... ip flow ingress ip flow egress ... и тут: interface Loopback0 ip address 10.1.1.1 255.255.255.0 ip flow ingress ip flow egress В результате трансляции снимаются до NAT-а и в обе стороны. Или вы что-то другое имели ввиду? Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
tehmeh Posted November 22, 2015 Он имеет ввиду логирование трансляций NAT, чтобы делать сопоставление публичный адрес к приватному. Об этом в первом сообщении и пишет: Кто чем пользуется для логирования трансляций NAT? Мы логируем на ASR1k через NetFlow v9. Здесь в соседней теме пробегала ссылка на общую статью про NAT на IOS-XE (CSR1000v и ASR 1k). http://goo.gl/0e9N9B Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
iostream Posted November 22, 2015 (edited) tehmeh прав - я именно логирование NAT трансляций имею ввиду. Статья хорошая - я её уже видел. Со стороны сети настроить для меня это труда не составляет (настройка сенсора элементарна). Но я не очень хорошо разбираюсь в остальной части NetFlow (настройка коллектора и т.д) - ни разу этого не делал и, соответственно, запара в этом. Самый главный вопрос для меня в этой статье - в конце : "Остаётся лишь научить коллектор понимать такие flow-потоки". И он не раскрыт :)) Как настроить коллектор и научить его понимать эти потоки - я не смог ничего найти..( Edited November 22, 2015 by iostream Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
Zarin Posted November 22, 2015 (edited) Гугли nfdump nsel Edited November 22, 2015 by Zarin Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
Andrei Posted November 22, 2015 Он имеет ввиду логирование трансляций NAT, чтобы делать сопоставление публичный адрес к приватному. Об этом в первом сообщении и пишет: Кто чем пользуется для логирования трансляций NAT? То, что циска выдает по sh ip nat tr ? У меня как раз это и собирает. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
Andrei Posted November 22, 2015 Как настроить коллектор и научить его понимать эти потоки - я не смог ничего найти..( netams настраивал не я, но в /etc/netams/netams.conf: service storage 1 type mysql socket /var/run/mysqld/mysqld.sock user netams password xxxxxxxxxxxxxxxxxxxxx dbname netams accept all service data-source 1 type netflow listen 0.0.0.0 9996 source 212.ххх.ххх.230 service quota policy ip notify soft owner notify hard owner notify return owner service alerter 0 report oid 06100 name rep1 type traffic period day detail simple smtp-server localhost service scheduler service monitor 0 monitor to storage 1 monitor unit u_all Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
iostream Posted November 22, 2015 То, что циска выдает по sh ip nat tr ? У меня как раз это и собирает. Да, то что циска собирает по этой команде. Но ведь, судя по представленной конфигурации, в netflow идет весь трафик - и который за NAT, и который без NAT. Так? Не секрет, что NetFlow и NAT - ресурсоемкие операции, поэтому я хотел бы их разнести по разным железкам: - Обычный Netflow мне кажется целесообразным сделать на Border'е (нашем PE роутере) - через него идет весь поток трафика ( который "натился" и "без ната"). - "ip nat translation logging" с помощью Netflow v9 сделать на BRAS, которые и занимаются CGN c PAP и BPA (на этих BRAS, так же терминируются обычные клиенты - без NAT). Если брать простой NetFlow для всех IP потоков, как Вы описали выше - будет "писаться" весь трафик (с NAT и без NAT). К этому же потеряется преимущество Block Port Allocation, который, как я понял, в случае "ip nat translation logging" снижает объем записываемых данных в значительное количество раз ( до 200, а может и больше - в зависимости от количества трансляций NAT на клиента) P.S: Netams насколько я понял не opensource решение и стоит денег. А денег нет) Нужно opensource :) Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
alibek Posted November 22, 2015 Где-то (может даже на этом форуме) читал и про другой подход. Включается дебаг на NAT и отправляется на внешний syslog. А внешний syslog парсить данные и складывает в базу данных. Но поток данных будет большой, агрегацию нужно будет прикручивать обязательно и делать ее самому. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
iostream Posted November 22, 2015 (edited) Включается дебаг на NAT и отправляется на внешний syslog. Мне кажется уже когда будет 5к абонентов за NAT - BRAS захочет "отдохнуть" )) Хотя может и ошибаюсь.. Но дебажить NAT для логирования трансляций это хардкор ИМХО :) Edited November 22, 2015 by iostream Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
AlKov Posted November 22, 2015 А как реализовать тоже самое (NAT translation logging) на Linux SNAT? Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
dazgluk Posted November 22, 2015 А как реализовать тоже самое (NAT translation logging) на Linux SNAT? ipt_netflow с опцией natevents Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
hsvt Posted November 22, 2015 А что такое ИС СОРМА, их хранилище какое то? Вот тут на днях обсуждали - http://forum.nag.ru/forum/index.php?showtopic=110203&view=findpost&p=1200518 От LB не используете LBucd и учитывать ресурс\порт? У нас загибается так же из-за объёма... Для тех абонентов, которые тарифицируются агентом LBucd, использую. База пухнет - да. :( Правда задачи учитывать порты не стоит, только ресурсы. Но у меня используется ЛБ для авторизации абонентов по pptp/pppoe (основная масса абонентов), это делает другой агент - LBarcd, а он не умеет собирать netflow. Вариант скрестить LBarcd и LBucd обсуждался вот тут http://forum.nag.ru/forum/index.php?showtopic=97064&view=findpost&p=1132660 , но я на него так и не решился, т.к. не откликнулся никто из тех, кто его на практике использовал. Представитель разработчика ЛБ тоже высказался супер кратко. Из всего этого я сделал вывод, что может функционал и есть, но быть его бета-тестером мне не захотелось. У нас используется как раз в режиме эмуляции, то есть переносить учётки не требуется, но итог тот же самый от БД. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
mikezzzz Posted November 23, 2015 Гугли nfdump nsel а давайте общаться ) уже сутки ломаю голову над NFDUMP, есть ASR + CGN + BPA не хочет, зараза, правильно порты логировать, пишет "0" и время-дата какое-то кривое ) 1970 год на дворе обе проблемы так или иначе уже где-то обсуждались, но четкого решения так и не на гуглил. пытался поправить как тут пишут - http://sourceforge.net/p/nfdump/mailman/message/31951163/, не очень что-то оно взлетело. думаю посмотреть в сторону ipt netflow Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
ShyLion Posted November 23, 2015 # cat /etc/rc.local#!/bin/bash/bin/nfcapd -z -w -D -T all -l /store/flows/asr-1002-x-NAT -p 8889 -I asr-1002-x-NAT -S 1/bin/nfcapd -z -w -D -T all -l /store/flows/asr-1002-x-DATA -p 9995 -I asr-1002-x-DATA -S 1 flow exporter FEX1destination x.x.x.xsource Loopback0export-protocol netflow-v5flow monitor MON1exporter FEX1record netflow ipv4 original-outputip flow monitor MON1 inputip flow monitor MON1 output!interface TenGigabitEthernet0/1/0.9encapsulation dot1Q 9ip nat outsideip flow monitor MON1 inputip flow monitor MON1 output! ip nat log translations flow-export v9 udp destination x.x.x.x 8889 source Loopback0 Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
alks Posted November 23, 2015 flow record V4_2 match ipv4 source address match ipv4 destination address match transport destination-port ! ! flow exporter NETFLOW-V9 destination 10.0.2.10 transport udp 8888 ! ! flow monitor FLOW_MONITOR description # description Used for basic ipv4 traffic analysis exporter NETFLOW-V9 record V4_2 interface TenGigabitEthernet0/1/0.3 description # server NAT2 1.1.1.1 encapsulation dot1Q 3 ip vrf forwarding xxxx ip address 1.1.1.1 255.255.255.240 ip flow monitor FLOW_MONITOR output Вывод http://c2n.me/3qHnNfm 13Гбит/c в чнн, 20k subscriber Объем флоу за день от 11 до 13Г, за октябрь 347Г. Храним только src dst port, парсим через nfdump Все просто, дешево и сердито Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
ShyLion Posted November 23, 2015 #nfdump -o raw -r /store/flows/asr-1002-x-NAT/nfcapd.current.2401......Flow Record: Flags = 0x46 EVENT, Unsampled export sysid = 1 size = 116 first = 1448262218 [2015-11-23 12:03:38] last = 1448262218 [2015-11-23 12:03:38] msec_first = 806 msec_last = 806 src addr = 100.64.228.174 dst addr = 0.0.0.0 src port = 41131 dst port = 0 fwd status = 0 tcp flags = 0x00 ...... proto = 17 UDP (src)tos = 0 (in)packets = 0 (in)bytes = 0 ip router = x.x.x.x engine type = 0 engine ID = 200 received at = 1448262218889 [2015-11-23 12:03:38.889] connect ID = 0 fw event = 1: CREATE fw ext event = 0 Event time = 1448262218806 [2015-11-23 12:03:38.806] src xlt port = 21213 dst xlt port = 0 src xlt ip = x.x.x.113 dst xlt ip = 0.0.0.0 nat event = 1: ADD ingress VRF = 0 egress VRF = 0 Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
mikezzzz Posted November 23, 2015 вопрос снимается, в шары долблюсь похоже :) дата-время ок, block start/end тоже нашел при указании -o raw {noformat} pblock start = 2048 pblock end = 3071 pblock step = 1 pblock size = 1024 {noformat} Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
ShyLion Posted November 23, 2015 Че-то у меня в BPA не срослось, даже в TAC заводил, достаточно часто НАТ отказывался работать, хотя в пуле гора свободных адресов была. TAC не помог, сказали все правильно работает. т.е. правильно отказывает. Был в шоке. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...