mactep001 Опубликовано 16 октября, 2016 (изменено) · Жалоба Имеется системник с i5-4670 (4 x 3.4ггц) и 2 карточками intel i350-t2. Стоит Centos 7, прерывания раскиданы по ядрам (вручную, irqbalance каждые 5-10 сек менял ядра). Сервер маршрутизирует трафик между миром и локалкой. На нём крутится bgp (без full view), dhcpd и tc шейпер, iptables+ipset. Пускаем через этот маршрутизатор hping3 с 2х серверов (vlan10) на трейтий сервер (vlan20). Оба влана, например, на eth2. При достижении 300к пакетов на интерфейсе eth2, si показывает 99%, ksoftirqd 100%, 80% потерь пакетов. При 200-250к пакетов - si 12%, ksoftrqd даже не выскакивает. Но есть такой момент, на всех 4х интерфейсах может быть по 200к пакетов и проблемы нет. Нагрузка появляется при 250к+ пакетов. Вот и возник вопрос. Можно ли это профиксить или только замена железа поможет? hping3 -d 1 --rand-source ip_address --faster 28: 2701690 1744748 2344683 2271745 IR-PCI-MSI-edge eth0 29: 1 0 0 0 IR-PCI-MSI-edge eth1 30: 171345200 169389507 109184674 218322360 IR-PCI-MSI-edge eth1-rx-0 31: 150053053 83104599 151165912 223802517 IR-PCI-MSI-edge eth1-rx-1 32: 186495892 111549142 112436304 234875923 IR-PCI-MSI-edge eth1-rx-2 33: 158976010 180870431 170022758 111272490 IR-PCI-MSI-edge eth1-rx-3 34: 180929454 105231181 216153718 115707364 IR-PCI-MSI-edge eth1-tx-0 35: 189888745 138612562 263748962 124417296 IR-PCI-MSI-edge eth1-tx-1 36: 205698039 128601088 189239160 221975777 IR-PCI-MSI-edge eth1-tx-2 37: 185522875 118200837 144223478 194044475 IR-PCI-MSI-edge eth1-tx-3 40: 1 0 0 0 IR-PCI-MSI-edge eth2 41: 69800742 58567281 53006256 91392123 IR-PCI-MSI-edge eth2-rx-0 42: 78854523 65511463 79758929 71591243 IR-PCI-MSI-edge eth2-rx-1 43: 76845708 86854208 77057444 83671461 IR-PCI-MSI-edge eth2-rx-2 44: 57003327 83792902 75626361 69263975 IR-PCI-MSI-edge eth2-rx-3 45: 141779983 71491281 135351424 148587804 IR-PCI-MSI-edge eth2-tx-0 46: 108230666 67471994 144197484 166486942 IR-PCI-MSI-edge eth2-tx-1 47: 135353877 139683685 70465709 155690332 IR-PCI-MSI-edge eth2-tx-2 48: 167780888 79413573 150996982 83099320 IR-PCI-MSI-edge eth2-tx-3 49: 0 0 0 1 IR-PCI-MSI-edge eth3 50: 151279126 109191347 144846080 161135569 IR-PCI-MSI-edge eth3-rx-0 51: 194411603 152782138 185925840 151429478 IR-PCI-MSI-edge eth3-rx-1 52: 161593990 149918954 144065743 152037226 IR-PCI-MSI-edge eth3-rx-2 53: 179662779 106820200 164945479 165038101 IR-PCI-MSI-edge eth3-rx-3 54: 198790323 121198826 209318043 195822376 IR-PCI-MSI-edge eth3-tx-0 55: 211768250 157071748 221561610 239461157 IR-PCI-MSI-edge eth3-tx-1 56: 199816800 181533517 201208109 244981838 IR-PCI-MSI-edge eth3-tx-2 57: 202353183 121875150 185856374 195305669 IR-PCI-MSI-edge eth3-tx-3 58: 1 0 0 0 IR-PCI-MSI-edge eth4 59: 124266136 104684657 206826829 150663409 IR-PCI-MSI-edge eth4-rx-0 60: 136138256 196174592 159019971 126292666 IR-PCI-MSI-edge eth4-rx-1 61: 180045695 126389834 142231642 121237912 IR-PCI-MSI-edge eth4-rx-2 62: 152778012 121436005 120753192 193629546 IR-PCI-MSI-edge eth4-rx-3 63: 173258802 125170439 181964084 140336434 IR-PCI-MSI-edge eth4-tx-0 64: 152946386 129432795 157884255 186957783 IR-PCI-MSI-edge eth4-tx-1 65: 175997086 124882943 176990272 166884618 IR-PCI-MSI-edge eth4-tx-2 66: 164998728 119419200 178964340 174601588 IR-PCI-MSI-edge eth4-tx-3 ethtool -c eth1,2,3,4 Coalesce parameters for eth1: Adaptive RX: off TX: off stats-block-usecs: 0 sample-interval: 0 pkt-rate-low: 0 pkt-rate-high: 0 rx-usecs: 3 rx-frames: 0 rx-usecs-irq: 0 rx-frames-irq: 0 tx-usecs: 3 tx-frames: 0 tx-usecs-irq: 0 tx-frames-irq: 0 rx-usecs-low: 0 rx-frame-low: 0 tx-usecs-low: 0 tx-frame-low: 0 rx-usecs-high: 0 rx-frame-high: 0 tx-usecs-high: 0 tx-frame-high: 0 Изменено 16 октября, 2016 пользователем mactep001 Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Mystray Опубликовано 16 октября, 2016 · Жалоба Есть подозрение на conntrack, судя по "--rand-source". Что в фаерволе? В логах что-то появляется? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
mactep001 Опубликовано 16 октября, 2016 (изменено) · Жалоба input полностью закрыт кроме 22 порта для нескольких IP, 179 порта для вышестоящих, icmp. И открываем доступ абонентам в мир ipset -N users iphash --hashsize 8192 ipset users -A 1.1.1.1 ... iptables -A FORWARD -i eth1+ -m set --match-set users dst,src -j ACCEPT iptables -A FORWARD -i eth2+ -m set --match-set users dst,src -j ACCEPT iptables -A FORWARD -i eth1+ -j DROP iptables -A FORWARD -i eth2+ -j DROP (eth1 и eth2 - внешка) Изменено 16 октября, 2016 пользователем mactep001 Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Antares Опубликовано 16 октября, 2016 · Жалоба Уберите dhcp с этой тачки. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Mystray Опубликовано 16 октября, 2016 · Жалоба Я про -m state и/или NAT, если ни то ни другое не используется, возможно стоит вообще модули контрека из загрузки. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
mactep001 Опубликовано 16 октября, 2016 · Жалоба А как отключить conntrack? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Mystray Опубликовано 16 октября, 2016 · Жалоба А как отключить conntrack? для начала попробуйте просто увеличить количество на горячую. Может я не прав и причина в другом sysctl -w net.netfilter.nf_conntrack_max=2000000 Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
mactep002 Опубликовано 16 октября, 2016 · Жалоба Не помогло Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Antares Опубликовано 16 октября, 2016 · Жалоба Не помогло Уберите dhcp с этой тачки. Это пробовали?? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
mactep002 Опубликовано 16 октября, 2016 (изменено) · Жалоба Спасибо, отключение dhcpd помогло. 500к пакетов, нагрузка 0% Изменено 16 октября, 2016 пользователем mactep002 Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Antares Опубликовано 16 октября, 2016 · Жалоба Не за что, это старая проблема. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
mactep002 Опубликовано 16 октября, 2016 (изменено) · Жалоба Ещё есть такая штука: http://github.com/danieltt/pktgen/blob/master/examples/pktgen.conf-1-1 Если такой же эксперимент проделать, то генерируется 200к пакетов, нагрузка на маршрутизатор 0%, а у абонентов потери. Изменено 16 октября, 2016 пользователем mactep002 Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
stalker86 Опубликовано 16 октября, 2016 · Жалоба Не за что, это старая проблема. А если не секрет - что там за проблема и откуда ноги растут? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Antares Опубликовано 17 октября, 2016 · Жалоба А если не секрет - что там за проблема и откуда ноги растут? Сейчас точно не вспомню, на форуме пролетала...)) Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
mactep001 Опубликовано 17 октября, 2016 (изменено) · Жалоба Убираем dhcp с роутера => надо поставить dhcpd на другой сервер => нужна настройка dhcp relay на свиче. Но тут загвоздка... Чтоб настроить dhcp relay на свиче, надо чтобы сам свич находился в раздаваемых подсетях. Или я не прав? Например, свитч имеет ip 10.0.1.10/24 (vlan 1), dhcp сервер имеет 10.0.2.10 (vlan 10), раздавать надо 10.1.1.0/30 (vlan 50), 10.1.1.4/30(vlan 60), 10.2.2.0/24(vlan70)... В данном случае не получится использовать dhcp relay? Если нет, то как тогда избавить от уязвимости? Изменено 17 октября, 2016 пользователем mactep001 Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
zhenya` Опубликовано 17 октября, 2016 · Жалоба нет. если dhcpd isc. То достаточно в shared-network Добавить subnet со свитчами и все. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
mactep001 Опубликовано 18 октября, 2016 · Жалоба Поднял на dgs-3120 dhcp relay. Запросы на dhcp сервер приходят только из той подсети, в которой находится сам свитч. # config dhcp_relay add ipif System ip_address_dhcp_server # config dhcp_relay option_82 state enable # enable dhcp_relay Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
stalker86 Опубликовано 19 октября, 2016 · Жалоба Сейчас точно не вспомню, на форуме пролетала...)) Что-то не удалось с хода найти.. а ключевые слова для поиска не вспомните часом? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
bos9 Опубликовано 20 октября, 2016 · Жалоба Сейчас точно не вспомню, на форуме пролетала...)) Что-то не удалось с хода найти.. а ключевые слова для поиска не вспомните часом? dhcp raw socket Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
stalker86 Опубликовано 20 октября, 2016 · Жалоба В общем если кому ещё интересно http://forum.nag.ru/forum/index.php?showtopic=113425&st=40 Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
BETEPAH Опубликовано 20 октября, 2016 · Жалоба Интересно, спасибо. Только хотел спросить ссылочку. Просто у меня 410к прерываний и DHCP на одном сервере, вот и подумал, мало ли что. У меня нет на нем BGP и PPP. Живёт нормально. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...