The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

Несколько трюков с ng_ipacct

14.04.2006 17:10

Алексей Плутахин написал статью в которой привел способы соединения нод netgraph для учета трафика на бридже и на таких интерфейсах как gif и tun.

  1. Главная ссылка к новости (http://www.iplab-nnz.ru/blog/i...)
Лицензия: CC-BY
Тип: яз. русский / Практикум
Короткая ссылка: https://opennet.ru/7330-ng_ipacct
Ключевые слова: ng_ipacct, netgraph, freebsd, traffic
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (7) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, smb (?), 19:52, 14/04/2006 [ответить]  
  • +/
    Спасибо, как раз недавно думал, как траффик с tun через netgraph считать...
     
  • 1.2, _Arti (??), 20:42, 14/04/2006 [ответить]  
  • +/
    Буквально недавно меня посетила мысль написать нечто похожее :)
    http://wiki.bsdportal.ru/doc:netgraph_ng_nat
     
     
  • 2.6, RedRat (ok), 15:36, 24/01/2007 [^] [^^] [^^^] [ответить]  
  • +/
    Увы, но этот сайт больше недоступен. А жаль, хорошая была статья! Можно её куда-нибудь перевыложить?
     

  • 1.3, zyxman (?), 01:55, 15/04/2006 [ответить]  
  • +/
    забавно - только что для этого поднял интерфейс из /usr/share/examples/netgraph/udp.tunnel :))
    но правда у меня специфика - траффик по безпроводному каналу идет и желательно шифровать.
     
  • 1.4, Skif (??), 01:24, 16/04/2006 [ответить]  
  • +/
    >В приведенном примере две ноды типа ksocket отправляют в ng_ipacct данные, >попадающие в соответствующие сокеты 0.0.0.0:3021 и 0.0.0.0:3022. В эти сокеты >трафик направляется правилами файервола:
    >
    >
    >
    >ipfw add 64021 tee 3021 ip from any to room101 via ${IFACE}
    >ipfw add 64022 tee 3022 ip from room101 to any via ${IFACE}
    >
    >
    >При этом следует учитывать, что все запрещающие правила, должны предшествовать >правилам tee, т.к. прохождение сетевых пакетов по ipfw заканчивается на этих >правилах, и пакеты считаются принятыми.

    Или я не правильно понимаю, или тут полноценно учесть траффик на этих интерефейсах не получиться - пакет может быть отброшен прежде, чем попытается пройти через счетчик, но даже он, отброшеный должен быть учтен. Правда это в условиях, конечно, когда выставляются счета за траффик.

     
  • 1.5, Аноним (-), 12:26, 14/11/2006 [ответить]  
  • +/

    Стоит if_bridge, делаю вот по такой схеме:
    -------------------------------------------------
    /sbin/kldload ng_ipacct > /dev/null 2>&1
    /sbin/kldload ng_ipfw > /dev/null 2>&1

    ngctl -f- <<-SEQ
         mkpeer ipfw: ipacct  333 rl0_in
         name ipfw:333 rl0_ip_acct
         connect ipfw: rl0_ip_acct: 444 rl0_out

    SEQ

    ipfw add 100 ngtee 333 ip from any to any via ${if_ext} in
    ipfw add 200 ngtee 444 ip from any to any via ${if_ext} out
    ---------------------------------------------------

    все работает, но входящий трафик почему-то считается дважды. В чем может быть дело?

     
     
  • 2.7, Sergio (??), 02:40, 19/04/2007 [^] [^^] [^^^] [ответить]  
  • +/
    Мне кажется автор немного неверно интерпретировал логику работы нод ether и tee. Достаточно снимать данные с хука left2right. в right2left - копия (движение пакетов с верхних уровней в нижние в любом направлении).
     
     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Спонсоры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2022 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру