Jump to content

Recommended Posts

Posted (edited)

Имеется системник с 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

Edited by mactep001
Posted (edited)

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 - внешка)

Edited by mactep001
Posted

Я про -m state и/или NAT, если ни то ни другое не используется, возможно стоит вообще модули контрека из загрузки.

Posted

А как отключить conntrack?

для начала попробуйте просто увеличить количество на горячую. Может я не прав и причина в другом

sysctl -w net.netfilter.nf_conntrack_max=2000000

Posted (edited)

Убираем 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?

Если нет, то как тогда избавить от уязвимости?

Edited by mactep001
Posted

Поднял на 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

Posted

Сейчас точно не вспомню, на форуме пролетала...))

 

Что-то не удалось с хода найти.. а ключевые слова для поиска не вспомните часом?

Posted

Сейчас точно не вспомню, на форуме пролетала...))

 

Что-то не удалось с хода найти.. а ключевые слова для поиска не вспомните часом?

 

dhcp raw socket

Posted

Интересно, спасибо. Только хотел спросить ссылочку.

Просто у меня 410к прерываний и DHCP на одном сервере, вот и подумал, мало ли что.

У меня нет на нем BGP и PPP.

Живёт нормально.

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 и с Политикой конфиденциальности.