Задача: простейший механизм подсчета трафика.
Делал по методике: http://topola.unity.net/trafcoll
В первом варианте, для теста подлючил к сетке роутер у которого интерфейс WAN это vlan2 и мой компьютер имеет IP 192.168.1.2. Получился такой скрипт добавления пользователских цепочек:
iptables -t mangle -N worldin
iptables -t mangle -N worldout
iptables -t mangle -A worldin -d 192.168.1.2 -j RETURN
iptables -t mangle -A worldout -s 192.168.1.2 -j RETURN
iptables -t mangle -N trafin
iptables -t mangle -N trafout
iptables -t mangle -I FORWARD -i vlan2 -j trafin
iptables -t mangle -I FORWARD -o vlan2 -j trafout
iptables -t mangle -A trafout -j worldout
iptables -t mangle -A trafout -j RETURN
iptables -t mangle -A trafin -j worldin
iptables -t mangle -A trafin -j RETURN
Проверял накопленные данные командой:
iptables -nvxL -t mangle
Проблема в том, что цепочки вели подстчет только исходящего трафика для моего компа (192.168.1.2), а был и входящий, и его было гораздо больше.
Тогда я отложил тестовый роутер и сделал скрипт для того роутера, который непосредственно воткнут в интернет. С учетом, что внешний трафик идет через VPN с интерфейсом ppp0, а у моего компа там IP уже 192.168.5.106 скрипт получился:
iptables -t mangle -N worldin
iptables -t mangle -N worldout
iptables -t mangle -A worldin -d 192.168.5.106 -j RETURN
iptables -t mangle -A worldout -s 192.168.5.106 -j RETURN
iptables -t mangle -N trafin
iptables -t mangle -N trafout
iptables -t mangle -I FORWARD -i ppp0 -j trafin
iptables -t mangle -I FORWARD -o ppp0 -j trafout
iptables -t mangle -A trafout -j worldout
iptables -t mangle -A trafout -j RETURN
iptables -t mangle -A trafin -j worldin
iptables -t mangle -A trafin -j RETURN
Этим скриптом все чудно подсчитывается.
Вопрос: Как подсчитывать трафик в первом примере?