У меня есть две коробки Linux, подключенные к маршрутизатору, и маршрутизатор подключен к модему. Компьютеры Linux совместно используют файловые системы через NFS. Я хочу отслеживать загрузку и загрузку в Интернете, игнорируя локальный (nfs/ssh) трафик. Я бы предпочел получить эти значения из /proc . Ищете минимальное решение для обработки мощности. Какие-либо предложения?

2 ответа2

0

Вы можете добавить два правила в iptables для сегментирования пакетов, идущих в Интернет и из Интернета. Обратите внимание, что вам придется адаптировать их к вашей системе и сетевым настройкам. Я предполагаю, что имя сетевого интерфейса eth1 и 192.168.0.0/24.

iptables -I INPUT 1 -i eth0 ! -s 192.168.0.0/24
iptables -I OUTPUT 1 -o eth0 ! -d 192.168.0.0/24

Тогда вы можете увидеть использование полосы пропускания следующим образом:

# iptables -nvx -L INPUT
Chain INPUT (policy ACCEPT 542 packets, 63745 bytes)
 pkts bytes target     prot opt in     out     source               destination
   35  4533            all  --  eth0   *       ! 192.169.0.0/24     0.0.0.0/0
# iptables -nvx -L OUTPUT
Chain OUTPUT (policy ACCEPT 247 packets, 27847 bytes)
 pkts bytes target     prot opt in     out     source               destination
   48  4724            all  --  *      eth0    0.0.0.0/0            ! 192.168.0.0/24
0

Если вы хотите отслеживать интернет-трафик в целом, то единственный путь - это маршрутизатор, а не отдельные машины.

Проверьте, поддерживает ли ваш маршрутизатор SNMP. Если это так, вы можете установить на одном из ПК клиент snmp для Linux, чтобы отслеживать использование сети интерфейсом WAN на маршрутизаторе (это внешний интерфейс), который будет показывать вам общий трафик в / из Интернета.

Все остальное будет сложным, поскольку вам нужно будет отфильтровать любой локальный трафик с компьютеров и маршрутизатора.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .