URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID3
Нить номер: 14521
[ Назад ]

Исходное сообщение
"OpenNews: Несколько трюков с ng_ipacct"

Отправлено opennews , 14-Апр-06 19:52 
Алексей Плутахин написал статью (http://www.iplab-nnz.ru/blog/index.php?op=ViewArticle&articl...) в которой привел
способы соединения нод netgraph для учета трафика на бридже и на таких интерфейсах как gif и tun.

URL: http://www.iplab-nnz.ru/blog/index.php?op=ViewArticle&articl...
Новость: http://www.opennet.me/opennews/art.shtml?num=7330


Содержание

Сообщения в этом обсуждении
"Несколько трюков с ng_ipacct"
Отправлено smb , 14-Апр-06 19:52 
Спасибо, как раз недавно думал, как траффик с tun через netgraph считать...

"Несколько трюков с ng_ipacct"
Отправлено _Arti , 14-Апр-06 20:42 
Буквально недавно меня посетила мысль написать нечто похожее :)
http://wiki.bsdportal.ru/doc:netgraph_ng_nat

"Несколько трюков с ng_ipacct"
Отправлено RedRat , 24-Янв-07 15:36 
Увы, но этот сайт больше недоступен. А жаль, хорошая была статья! Можно её куда-нибудь перевыложить?

"Несколько трюков с ng_ipacct"
Отправлено zyxman , 15-Апр-06 01:55 
забавно - только что для этого поднял интерфейс из /usr/share/examples/netgraph/udp.tunnel :))
но правда у меня специфика - траффик по безпроводному каналу идет и желательно шифровать.

"OpenNews: Несколько трюков с ng_ipacct"
Отправлено Skif , 16-Апр-06 01:24 
>В приведенном примере две ноды типа 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 заканчивается на этих >правилах, и пакеты считаются принятыми.

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


"Несколько трюков с ng_ipacct"
Отправлено Аноним , 14-Ноя-06 12:26 

Стоит 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
---------------------------------------------------

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


"Несколько трюков с ng_ipacct"
Отправлено Sergio , 19-Апр-07 02:40 
Мне кажется автор немного неверно интерпретировал логику работы нод ether и tee. Достаточно снимать данные с хука left2right. в right2left - копия (движение пакетов с верхних уровней в нижние в любом направлении).