Urs_ak Posted August 11, 2020 Posted August 11, 2020 У кого-нибудь есть опыт эксплуатации NAT'а на платформе EcoNAT от RDP.ru ? Вставить ник Quote
crank Posted August 12, 2020 Posted August 12, 2020 Используем EcoNAT. Как NAT вопросов нет, но вот netflow9 там со своими тараканами на мой взгляд. Пишите лучше что именно вам нужно. Вставить ник Quote
Urs_ak Posted August 13, 2020 Author Posted August 13, 2020 @crank Мы взяли на тест и я хотел узнать как работает CGNAT и спросить примеры конфигов, но тут мне помогли ребята из НАГа. А вы используете именно CGNAT и пул внешних адресов к нему? Или у вас режим static NAT ? По поводу netflow9 - а чего там не так ? Мы как раз хотим собирать с него статистику по netflow. И что-то заливается вроде, у меня стоит патченный nfsen от VasExperts и на тесте я вижу что приходит статистика с NEL (NAT Event Logging), правда сам nfsen ещё периодически немного ругается на: nfcapd[6594]: semop() error in bookkeeper.c line 116: Invalid argument nfcapd[6594]: semop() error in bookkeeper.c line 131: Invalid argument nfcapd[6594]: Ident: 'none' Flows: 256366, Packets: 20291729, Bytes: 20038422596, Sequence Errors: 1485, Bad Packets: 0 nfcapd[6594]: Total ignored packets: 0 пока не знаю насколько это критично... Вставить ник Quote
stalker86 Posted August 14, 2020 Posted August 14, 2020 > Sequence Errors: 1485, Вот это плохо. Вставить ник Quote
crank Posted August 15, 2020 Posted August 15, 2020 В 13.08.2020 в 15:42, Urs_ak сказал: А вы используете именно CGNAT и пул внешних адресов к нему? Или у вас режим static NAT ? Мы используем именно CGNAT и пул внешних адресов. Вот пример нашего конфига system { ... nat_defaults { vlan_mode vlan alg { ftp off pptp on rtsp off sip off alg_on_bnat off } sessions_per_translation 4096 udp_inbound_refresh off l2mtu 1522 port_block_size 128 portlimit_low 64 low_to_all_udp off lldp on lldp_hostname "econat" permit_invalid_flow off timeouts_inactivity { translation 86400 udp 300 icmp 60 tcp_handshake 4 tcp_active 300 tcp_final 240 tcp_reset 4 tcp_session_active 120 udp_session 120 icmp_session 120 other 300 special 600 special_tcp_ports ( ) } limits_peruser { portlimit_icmp 1024 portlimit_tcp 1024 portlimit_udp 1024 } } ... } pools { pool_cgnat { # pool is valid and will be activated during apply type cgnat enable acl acl_cgnat priority 1000 global_ip ( 185.140.X.X/22 ) port_range 1024:65535 hairpin on connection_logging on randomize_ports off timeouts_inactivity { translation 86400 udp 300 icmp 60 tcp_handshake 4 tcp_active 300 tcp_final 240 tcp_reset 4 tcp_session_active 120 udp_session 120 icmp_session 120 other 300 special 600 special_tcp_ports ( ) } limits_peruser { portlimit_icmp 1024 portlimit_tcp 1024 portlimit_udp 1024 } } } acls { acl_cgnat { 10 permit ip src net 100.64.0.0/10 dst any } } 16 часов назад, stalker86 сказал: > Sequence Errors: 1485, Вот это плохо. Да. Это как раз та самая проблема, с которой и мы столкнулись. Мы видим, что проблема в используемом коллекторе nfdump. Однако есть ощущения, что и сама коробка EcoNAT пропускает netflow9 пакеты. Это первая проблема. Вторая же связана в тем, что очень трудно понять где начало и конец сессии. Есть события CREATE, DELETE, но между ними нет никакой связи - ни id, ни времени старта в событии DELETE. Пришлось написать свой парсер, который анализирует все netflow9 события, собирает сессии и складывает их в clickhouse. Чтобы решить первую проблему мы решили написать свой многопоточный коллектор/парсер и использовать его вместо nfdump, которому бывает тяжело разгрести большой поток netflow9 пакетов из-за его однопоточности. Дело в том, что в каждом netflow9 пакете содержится только по одному событию. В итоге на 70 Мбит netflow9 кол-во генерируемых коробкой пакетов равно 80 тыс, что довольно много и создаёт неплохую нагрузку на сервер. Вставить ник Quote
stalker86 Posted August 15, 2020 Posted August 15, 2020 А какой у Вас поток netflow и какая карта на коллекторе? Вставить ник Quote
Urs_ak Posted August 15, 2020 Author Posted August 15, 2020 6 часов назад, crank сказал: Вторая же связана в тем, что очень трудно понять где начало и конец сессии. Спасибо за обстоятельный ответ. Я правильно понимаю, что это из-за того что нету времени в поступаемой статистике ? Я сейчас пригляделся и вижу что метки времени пустые. У вас так же пусто ? Flow Record: Flags = 0x46 EVENT, Unsampled export sysid = 3 size = 80 first = 0 [1970-01-01 03:00:00] last = 0 [1970-01-01 03:00:00] msec_first = 52706 msec_last = 0 src addr = 10.0.112.65 dst addr = 87.250.250.242 src port = 57030 dst port = 80 fwd status = 0 tcp flags = 0x00 ...... proto = 6 TCP (src)tos = 0 (in)packets = 0 (in)bytes = 0 src xlt port = 1042 dst xlt port = 80 src xlt ip = 100.100.47.255 dst xlt ip = 87.250.250.242 nat event = 2: DELETE ingress VRF = 0 egress VRF = 0 Вставить ник Quote
crank Posted August 16, 2020 Posted August 16, 2020 Flow Record: Flags = 0x46 EVENT, Unsampled label = <none> export sysid = 9 size = 100 first = 1596284999 [2020-08-01 15:29:59] last = 1596284999 [2020-08-01 15:29:59] msec_first = 0 msec_last = 0 src addr = 100.64.79.182 dst addr = 3.93.238.179 src port = 30923 dst port = 62688 fwd status = 0 tcp flags = 0x00 ........ proto = 6 TCP (src)tos = 0 (in)packets = 0 (in)bytes = 0 connect ID = 0 fw event = 2: DELETE fw ext event = 0 Event time = 1596284999000 [2020-08-01 15:29:59.000] src xlt port = 1230 dst xlt port = 62688 src xlt ip = 185.140.X.X dst xlt ip = 3.93.238.179 nat event = 2: DELETE ingress VRF = 0 egress VRF = 0 Метки времени у меня есть, но в остальном нет никакой привязки событий CREATE и DELETE. Можно, конечно, тупо хранить все события как есть, но мы решили хранить именно сессии трансляций, т.е. помимо IP адресов, портов и протокола есть время старта трансляции и время конца. Для этого и писали свой парсер netflow9. Вот то, что мы в итоге храним в clickhouse ┌───────────────start─┬────────────────stop─┬─proto─┬─────────lanip─┬─lanport─┬───────────wanip─┬─wanport─┬──────────remip─┬─remport─┐ │ 2020-05-01 00:03:29 │ 2020-05-01 00:12:46 │ 17 │ 100.64.54.186 │ 45280 │ 185.140.X.X │ 1284 │ 173.194.222.95 │ 443 │ └─────────────────────┴─────────────────────┴───────┴───────────────┴─────────┴─────────────────┴─────────┴────────────────┴─────────┘ PS. Также в netflow9 от RDP EcoNAT имеет нулевые поля по счетчикам пакетов, объёмах переданных данных. Вставить ник Quote
Urs_ak Posted August 17, 2020 Author Posted August 17, 2020 В 16.08.2020 в 10:12, crank сказал: Метки времени у меня есть Можете показать настройки по netflow на EcoNAT, т.е. секцию system.connection_log ? Спасибо Вставить ник Quote
Ivan_83 Posted August 17, 2020 Posted August 17, 2020 Пните разрабов, они же русскоговорящие, пусть допилят вам нетфлоу, им не сложно, если они еще не разбежались после покупки ростелеком. Вставить ник Quote
crank Posted August 17, 2020 Posted August 17, 2020 @Ivan_83 , пинал уже и не раз. Как-то раз даже обещали в пакетах с событием DELETE добавить время начала сессии. Воз и ныне там. Такое ощущение, что они положили инструмент и пилят сейчас свои ТСПУ усиленно. Во всяком случае netflow для них видимо не является столь критичным функционалом. 3 часа назад, Urs_ak сказал: Можете показать настройки по netflow на EcoNAT, т.е. секцию system.connection_log ? Вот так у нас настроено connection_log { enable log_interface default log_servers ( 192.168.0.65:2055 ) mac 00:00:00:00:00:00 that_mac 00:00:00:00:00:00 ip_address 192.168.0.56/255.255.255.0 gateway 192.168.0.1 strip_tags on log_on_release on log_individual_conn on use_hex_format off pack_msgs on log_format netflow netflow_template_rate 4K netflow_options_rate 16K facility 16 severity 6 timeskew 0 } Вставить ник Quote
Urs_ak Posted August 17, 2020 Author Posted August 17, 2020 @crank Спасибо. Я ещё заметил, что похоже в netflow статистику попадает только то что проНАТилось, а то что транзитом идёт через EcoNAT у меня не попадает в статистику, т.е. соседний ip который не попадает в ACL, его нет в netflow статистике :( Интересно, вот у вендора заявлен EcoQoE (Quality of Experience), как они с кривым netflow тогда функционал QoE обеспечивают ? Странно. P.S. метки времени у меня стали собираться, когда я включил "все netflow расширения" (-T all), а вот количества байт нету Вставить ник Quote
Ivan_83 Posted August 17, 2020 Posted August 17, 2020 5 часов назад, crank сказал: пинал уже и не раз. Скажи что не купите без этой доработки, начнется другой разговор. Нам так постоянно яйца выкручивают. Вставить ник Quote
crank Posted August 18, 2020 Posted August 18, 2020 22 часа назад, Ivan_83 сказал: Скажи что не купите без этой доработки, начнется другой разговор. А мы и так ждём пока допилят все наши хотелки. Без них покупать не собираемся. Ох чувствую, что когда они всё допилят, то уже ESNI будет в полный рост + DNS over HTTPS/TLS и DPI вообще не нужен будет)) В 17.08.2020 в 17:16, Urs_ak сказал: а вот количества байт нету Нам разработчики RDP так и сказали, что этого нет. 14 часов назад, Butch3r сказал: да берите сразу тспу Уже ждём :) Вставить ник Quote
LostSoul Posted August 18, 2020 Posted August 18, 2020 10 минут назад, crank сказал: ESNI будет в полный рост Не должны разрешить его по уму. Ну или только от правильных ca Вставить ник Quote
vurd Posted August 18, 2020 Posted August 18, 2020 24 минуты назад, crank сказал: А мы и так ждём пока допилят все наши хотелки. Без них покупать не собираемся. А можно глупый вопрос? Нафига это всё, если все реализуется свободными модулями ядра на обычном линукс сервере за 80 тысяч? Вставить ник Quote
LostSoul Posted August 18, 2020 Posted August 18, 2020 23 минуты назад, vurd сказал: А можно глупый вопрос? Нафига это всё, если все реализуется свободными модулями ядра на обычном линукс сервере за 80 тысяч? мне когда в 2012 начальство принесло первый прототип того будущего ecodpi ( тогда еще на дискретной сетевухе с процессором ) , а сам прототип в формате mATX , я у начальства тоже самое спросил. Но меня тогда не поняли , и экоdpi все таки купили. Вставить ник Quote
Ivan_83 Posted August 19, 2020 Posted August 19, 2020 13 часов назад, vurd сказал: А можно глупый вопрос? Нафига это всё, если все реализуется свободными модулями ядра на обычном линукс сервере за 80 тысяч? У них оно на дпдк запилено и вроде как работает заметно быстрее, по крайней мере так было лет 5 назад. Вставить ник Quote
Urs_ak Posted August 20, 2020 Author Posted August 20, 2020 Производитель сказал что netflow допиливаться не будет, типа вот NAT и всё, что есть то есть. Вставить ник Quote
crank Posted August 21, 2020 Posted August 21, 2020 В 18.08.2020 в 21:56, vurd сказал: А можно глупый вопрос? Нафига это всё, если все реализуется свободными модулями ядра на обычном линукс сервере за 80 тысяч? Рад был бы услышать конфигурацию сервера под 40-50 Гбит входящего трафика. Я пока вижу вариант из нескольких серверов, если уж и переходить на них. Вставить ник Quote
vurd Posted August 21, 2020 Posted August 21, 2020 1 час назад, crank сказал: Рад был бы услышать конфигурацию сервера под 40-50 Гбит входящего трафика. Я пока вижу вариант из нескольких серверов, если уж и переходить на них. It allows to have 40Gbps NAT on commodity servers like 2*Xeon E5-2698 v3 @ 2.30GHz (2 x 16 Cores) with Intel X710/XL710/X540 10G adapters. (C) Вставить ник Quote
QWE Posted August 21, 2020 Posted August 21, 2020 7 часов назад, crank сказал: Рад был бы услышать конфигурацию сервера под 40-50 Гбит входящего трафика. Я пока вижу вариант из нескольких серверов, если уж и переходить на них. не юзал, но штука судя по рассылкам активно пилится https://wiki.fd.io/view/VPP/Features Carrier Grade NAT https://wiki.fd.io/view/VPP/What_is_VPP%3F https://wiki.fd.io/view/VPP/NAT Вставить ник Quote
LostSoul Posted August 21, 2020 Posted August 21, 2020 7 часов назад, vurd сказал: It allows to have 40Gbps NAT on commodity servers like 2*Xeon E5-2698 v3 @ 2.30GHz (2 x 16 Cores) with Intel X710/XL710/X540 10G adapters. (C) Это с нетфлов или без нихрена? Вставить ник Quote
pppoetest Posted August 21, 2020 Posted August 21, 2020 3 часа назад, LostSoul сказал: Это с нетфлов или без нихрена? ipt_netflow + нат трансляции льёт сам модуль Вставить ник Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.