Перейти к содержимому
Калькуляторы

h3ll1

Активный участник
  • Публикации

    338
  • Зарегистрирован

  • Посещение

Все публикации пользователя h3ll1


  1. Делаем в "postrouting" $nft_skbs_rules[]="define ns1 = 8.8.8.8"; $nft_skbs_rules[]="define ns61 = 2a00:1450:4017:80b::200e"; if ($shapertype == 'shaper' && !empty($nft_skbs_arr)){ foreach ($nft_skbs_arr as $nfsk => $nfsv){ $nft_skbs_rules[]="add map inet mark-rules ".$nfsk." { type ipv4_addr : classid; flags interval; }"; $nft_skbs_rules[]="add map inet mark-rules v6.".$nfsk." { type ipv6_addr : classid; flags interval; }"; $nft_skb_ips=array(); $nft_skb_ips6=array(); if (!empty($nfsv)){ foreach ($nfsv as $nfsvk => $nfsvv){ if (validateIPNETv4($nfsvk) !== false){ $nft_skb_ips[]="$nfsvk : $nfsvv"; } else if ($ipv6en != 'n' && validateIPNETv6($nfsvk) !== false){ $nft_skb_ips6[]="$nfsvk : $nfsvv"; } } if (!empty($nft_skb_ips)){ $nft_skbs_rules[]="add element inet mark-rules ".$nfsk." { ".implode(', ' , $nft_skb_ips)." }"; $nft_skbs_rules[]="nft add rule inet mark-rules marks ip saddr $ns1 ip daddr map ".nfsk." counter "; } if (!empty($nft_skb_ips6)){ $nft_skbs_rules[]="add element inet mark-rules v6.".$nfsk." { ".implode(', ' , $nft_skb_ips6)." }"; $nft_skbs_rules[]="nft add rule inet mark-rules marks ip6 saddr $ns61 ip6 daddr map v6.".nfsk." counter"; } } } } //ps - nft_skb_ips is array of 10.0.0.1 : 1:1, 10.0.0.2 : 1:2 (hex) etc.... А знаете, что ето в класс... 0хААААААА ... Сам и вопрос я сделал - почему не подходить только с nft? Почему надо tc филтра? Для НАТ акаунтинг-а(QOS).
  2. За то и мое непонимание: досегда понял что tc впереди nft (ingress): 1.tc filter add ...... ACCTION connmark 2. nft add rule mark YYY fwd to XX eto NE rabotaet: 1. nft mark ct mark 1: tc filter.... ACTION MIRRED.... А где там "промежуточая часть" ??
  3. Сам хост и меня интересует. Как (с хостом и трафик промежуточний - без CT флоу) захватить на QOS-a.   Можно там ползоваться ipset-a (нс-чужой)?
  4. Передаете флуда с вашего хостинга. Ничто плохое. (https://github.com/pavel-odintsov/fastnetmon)
  5. то, как минимум, 2, не так. >=1 . Физика и все остальное - интерфейси можно називать как хочеш. Тут вопрос (может бить баг) для nft возможно ли или нет. Юзеркейс - не только у меня. Извините.
  6. nft add chain netdev dev egress-eth0 { type filter hook egress device "eth0" priority 0\; policy accept\;} Error: Could not process rule: Operation not supported add chain netdev dev egress-eth0 { type filter hook egress device eth0 priority 0; policy accept;} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ps. https://www.spinics.net/lists/netfilter-devel/msg70104.html пача.
  7. пользуюсь nft sets. (tc filter умеет разбиратся с ipset, но не и с nft set).
  8. Впервие: схема (ВПН+- очереди на одного интефейса) или (етХХ---етХХ) Схема сети: что-то ----- етХ ....нат и тд. ---- еtY.... Проблема сети: связано с QOS и ACCOUNTING не само то что на етY, но и етХ! Если нат, (сделаете после или впереди Ваше значение) надо сделать QOS. Нашел что то: Сделали люди чтото ВСЕ хочут: марк на ипт"Х", а класифай на ifb (+нфмарк) НУ и сам человек сказал что контейнер для NS-a, но для задачи нужно сделять (ВиртМ). Для дела нужна (ВМ) чтоб била промежуточая связка интерфейсов. НО, не подходит все интрефейси на БРидж. Вот и ИДЕЯ, что делают: https://lwn.net/Articles/671458/ tc qdisc add dev eth0 clsact tc filter add dev eth0 egress matchall action mirred egress redirect dev ifb1 nft add rule inet mark-rules marks2 ip saddr @mynets meta priority set 2:322 ct mark set 322 counter Работает для IN+OUT пс. попровобал: не сработало, но идея добра.( множество правил будет сюда. Юзерспейс) . cat /proc/cpuinfo | grep MHz | wc 4 16 80
  9. Проблема не связана, что данная схема не работает, а потому что для реализации надо пользоватся контрак-а. При помощи IMQ - после postrouting делять все что угодно, Но нельзя на ingress. IFB - делается все, НО нельзя с машиной взять соединение (типа VPN) и его исходящий трафик на QOS. Ну и затем вопрос - как поможет LXC (с помощи редиректа для тех - (нат адрессации)), когда сам контейнер связивается к остольном миру только через BRIDGE ( а не надо bridge-ит всех интерфейсов). ps. у nft есть проблем, связан с редирект (dev vs inet) - не работают одинаково (они сказали что после 0.9.0 так, но нет, я так думаю (https://stackoverflow.com/questions/66976852/nftables-difference-between-netdev-and-inet-hooks)).
  10. Проблемa - сейчас вход + выход на множество вланов и множество интерфейсов. debian 9 + ( iptables + ipset + IMQ + nft + НАТ) )+ kernel 4.19.XXX. Видде, все хорошо, но там есть лимитация в softirq, связаная с tc+imq (вроде 4г трафика больше нет), но с кернел >5.9 не работает IMQ, и услышал что есть решение с LXC, когда сам контейнер может быть промежуточний шлюз для НАТа и для самого QOSa. Я сам протестовал, но с VLC, не все там работают macvlan|bridge|veth интерфейси. Ну и вопрос - как сделать промежуточний интерфейс вроде IFB с контейнера, чтоб сделать nft(-iptables-imq)+nat+qos на одной машине. подумал для nft "fw to" интерфейс. ps. Ето не для тя QOS-a полисинг, а для шейпинг. --eth1.1--- | ifb0 | | | local connected -- ex-> --eth1.2 -- | ifb0 | | | pppXXX -- --eth2.2 --- | ifb0 | | | dhcp --- как сделать QOS в переди НАТ-а --ethX.X --- | idb0 | | | vlan4 ---
  11. Вот и понадобился админ. :) замените на nft (nftables)
  12. Думаю ето для zebra (там разние люди разбираюстя)
  13. Active Management uptime is 1162 days 9 hours 48 minutes 24 seconds That was backup.
  14. Извиняюсь всех. Имел ввиду, что не возможно знать что OID будет с данного вендора, и как он будет "лечить" его.
  15. Ну вот за что сказали - РАБОТАЕТ.... LP Slot 2 uptime is 618 days 22 hours 19 minutes 32 seconds ну...заяц
  16. time nft -j list ruleset | wc 1 1187070 12717648 real 0m6.676s user 0m2.508s sys 0m4.432s ето хуже чем у рутер-ос-а
  17. Ето не значит, что будет работатъ в будущее.
  18. Уехал на 2-го года за FLASH. И не он сам.