Страница 1 из 1

Не стандартный шлюз с подсчетом трафика

Добавлено: 2015-02-10 4:55:07
k0ma
Не стандартный шлюз с подсчетом трафика.
Есть шлюз фря 9.2х32. Служба mpd5 подымает одну впнку ng0, чтобы на сервере появился интернет. Далее mpd5 разрешает 10 людям подключаться к себе из разных подсетей(всего из 10). 172.20.0.0/24,172.20.1.0/24 и так 10 сетей.
Сессии подымаются, все хорошо, хочется считать с помощью программы ipacctd, скрипт написан на РНР, он запускает ipacctd на 20000 порту(так повелось) и 20001 (вход и выход соответственно).
Это часть скрипта который считает трафик ipacctd.

Код: Выделить всё

 /usr/local/sbin/ipacctd -m 900000 -v -p 20000 -f /mnt/ramdisk/ipacctd.in
    /sbin/ipfw -q add 16000 divert 20000 all from any to any via ng* out
    /usr/local/sbin/ipacctd -m 900000 -v -p 20001 -f /mnt/ramdisk/ipacctd.out
    /sbin/ipfw -q add 16001 divert 20001 all from any to any via ng* in
Трафик считается, все хорошо, в базу мускуля падает, суммируется, но считается не только интернет, но и + локальный трафик, то есть между впнками, между пользователями, и тд и тп. Посоветовали выше правила которое разрешает идти адресам в мир, написать правило которое будет разрешать общение пользователям по локальной сети и между собой, раньше чем в мир. Так и локалка не будет считаться а только мир, но почему то не получилось.

Код: Выделить всё

${ipfw} 50 allow all from 172.17.12.236/32 to me keep-state
${ipfw} 50 allow all from ${vlan20},${vlans200},${usernet},${worknet},${bibl},${local} to me 21,22,80,443,1723,22,161,23,5006
${ipfw} 50 allow all from me to ${vlan20},${vlans200},${usernet},${worknet},${bibl},${local} 21,22,80,443,1723,22,161,23,5006
${ipfw} 50 allow all from 192.168.10.0/24 to ${bibl},${local},${worknet},${vlan20},${vlans200},${usernet},${vpn} via ng*
${ipfw} 50 allow all from ${bibl},${local},${worknet},${vlan20},${vlans200},${usernet},${vpn} to 192.168.10.0/24 via ng*
Это правила для локальной сети, 192.168.10.0/24 это адреса для пользователей.

Код: Выделить всё

${ipfw} 20000 allow all from table\(20\) to any via ng*
${ipfw} 20001 allow all from any to table\(20\) via ng*
Это правила для мира, кто в 20 таблице тот ходит, кто нет, тот нет.

Вопрос, где еще что написать чтобы локальный трафик не считался?

Код: Выделить всё

# cat /etc/ipnat.sh
map ng0 from 192.168.10.0/24 to any -> 192.168.100.22/32
Без этого правила нету интернета у пользователей. Адрес 192.168.100.22/32 это адрес который получает сам шлюз при подключении впнки.

Не стандартный шлюз с подсчетом трафика

Добавлено: 2015-02-17 12:05:34
k0ma
никто ничего дельного не скажет? ребатя, просто подскажите как считать трафик через трубы, внутри трубы.
Есть одна большая труба, в ней куча мелких, и вот эти мелкие лезут в мир, как посчитать только мелкие трубы?