можно использовать watch
:
watch -n 30 -t df /
Но это перезаписывает существующий вывод
Так как ваши выходные пакеты имеют класс набора на основе приложения (и я предполагаю, что каждое приложение использует определенный набор портов TCP / UDP), которые вы можете повторно классифицировать входящие пакеты на основе тех Порты.
Например. Чтобы повторно классифицировать установленную (исходящую) сеанс HTTP, на edgerOuter:
iptables -t mangle -A INPUT -i [WANIF] -m state --state ESTABLISHED,RELATED -p tcp -m tcp --sport 80 -j DSCP --set-dscp-class cs3
nb: может потребоваться использовать переднюю таблицу вместо ввода ...
, но - для отслеживания выходных пакетов, определить, какой класс они имели на Выход затем примените тот же класс для входных пакетов того же потока - все еще возможен, но гора работы и, возможно, пользовательский модуль Net-Filter, который интерфейсы с Конструксом.
Что именно вы установили с помощью --set class X:Y
? Класс чего именно? Я просмотрел man-страницу iptables, но не нашел ничего похожего на то, что вы описали. Я думаю, что вы можете захотеть сделать что-то вроде этого:
В "edgeRouter" сделайте следующее:
# Если пакет приходит из LAN, помечен и мы ничего не знаем о
#+ соединении, то пометьте соединение
iptables -t mangle -A PREROUTING -i $LAN_IF -m tos --tos $TOS_VAL -m \
пометить \! --mark $TOS_VAL -j CONNMARK --set-xmark $TOS_VAL
# Сбросьте значение TOS при выходе в сеть, чтобы предотвратить странную интерпретацию
iptables -t mangle -A POSTROUTING -o $WAN_IF -m tos --tos $TOS_VAL \
-j TOS --set-tos 0x00
# Если пакет прибывает из WAN и соединение помечено, то пометьте
#+ пакет, чтобы маршрутизаторы в локальной сети знали, как с ним обращаться
iptables -t mangle -A PREROUTING -i $WAN_IF -m connmark --mark $TOS_VAL \
-j TOS --set-tos $TOS_VAL