Назад | Перейти на главную страницу

Мониторинг пропускной способности с помощью iptables для машины без маршрутизатора

Я наткнулся на этот урок Вот в котором описывается, как контролировать пропускную способность с помощью iptables. Я хотел адаптировать его для машины без маршрутизатора, поэтому я хочу знать, сколько данных входит / выходит и не проходит.

Вот правила, которые я добавил:

iptables -N ETH0_IN
iptables -N ETH0_OUT
iptables -I INPUT -i eth0 -j ETH0_IN
iptables -I OUTPUT -o eth0 -j ETH0_OUT

А вот образец вывода:

user@host:/tmp$ sudo iptables -x -vL -n
Chain INPUT (policy ACCEPT 1549 packets, 225723 bytes)
    pkts      bytes target     prot opt in     out     source               destination         
     199    54168 ETH0_IN    all  --  eth0   *       0.0.0.0/0            0.0.0.0/0           

Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
    pkts      bytes target     prot opt in     out     source               destination         

Chain OUTPUT (policy ACCEPT 1417 packets, 178128 bytes)
    pkts      bytes target     prot opt in     out     source               destination         
     201    19597 ETH0_OUT   all  --  *      eth0    0.0.0.0/0            0.0.0.0/0           

Chain ETH0_IN (1 references)
    pkts      bytes target     prot opt in     out     source               destination         

Chain ETH0_OUT (1 references)
    pkts      bytes target     prot opt in     out     source               destination         

Как видно выше, нет значений пакетов и байтов для ETH0_IN и ETH0_OUT, что не совпадает с результатом в руководстве, на которое я ссылался.

Это где-то ошибка? Спасибо за ваше время.

Создайте термин, который соответствует всему трафику и ничего не делает (но учитывает):

iptables -A ETH0_IN
iptables -A ETH0_OUT

В вашем учебном пособии ваши пользовательские цепочки содержат похожие записи - для любого типа бухгалтерского учета, который вам нравится. (на IP, на протокол ...)


Если вы просто хотите учитывать входной / выходной трафик и не выполнять пересылку (что я читал с "машины без маршрутизатора"), получите счетчики интерфейса:

# ifconfig eth0 | grep 'RX bytes'
      RX bytes:7029377146 (7.0 GB)  TX bytes:923972351 (923.9 MB)


Если вы делаете только итог, вы можете даже сохранить пользовательские цепочки и сделать

iptables -A INPUT  -i eth0
iptables -A OUTPUT -o eth0

получить ваши счетчики ....