Gostaria de saber a posição exata do seguinte dispositivo no fluxo de pacotes para modelagem de tráfego de ingresso:
Eu gostaria de entender melhor como os pacotes estão fluindo para esse dispositivo e exatamente quando isso acontece para entender quais métodos de filtragem / classificação podem ser usados:
tc filter ... u32 ...
iptables ... -j MARK --set-mark ...
iptables ... -j CLASSIFY --set-class ...
Parece difícil encontrar documentação sobre este tópico, qualquer ajuda onde encontrar documentação oficial seria muito apreciada também.
Documentação até onde eu sei:
tc
: HOWTO do tldp.org , HOWTO do lartc.org
imq
: IMQ - FAQ , lartc.org
netfilter
fluxo de pacotes: kernel_flow , docum.org kptd
A partir da documentação conhecida, interpreto o seguinte:
Controle de tráfego básico
figure 1
+-------+ +------+
|ingress| +---------+ |egress|
|qdisc +--->netfilter+--->qdisc |
|eth0 | +---------+ |eth0 |
+-------+ +------+
IMQ?
iptables -t mangle -A PREROUTING -i eth0 -j IMQ --todev 0
resultará em?
figure 2
+----------+ +-------+ +------+ +----------+
|PREROUTING| |ingress| |egress| |PREROUTING|
|mangle +--->qdisc +--->qdisc +--->nat |
| | |imq0 | |imq0 | | |
+----------+ +-------+ +------+ +----------+
e iptables -t mangle -A POSTROUTING -o eth0 -j IMQ --todev 1
resultarão em?
figure 3
+-----------+ +-------+ +------+ +------+
|POSTROUTING| |ingress| |egress| |egress|
|nat +--->qdisc +--->qdisc +--->qdisc |
| | |imq1 | |imq1 | |eth0 |
+-----------+ +-------+ +------+ +------+
Tags iptables tc linux-kernel netfilter