Estou tentando configurar a modelagem de tráfego em um gateway Linux, como está escrito aqui . O script precisa ser personalizado porque tenho várias interfaces de rede local. Então, para moldar o lado da LAN, estou planejando criar um pseudo dispositivo ifb assim:
modprobe ifb
ip link set dev ifb0 up
/sbin/tc qdisc add dev $WAN_INTERFACE ingress
/sbin/tc filter add dev $WAN_INTERFACE parent ffff: protocol ip u32 match u32 0 0 action mirred egress redirect dev ifb0
O script do repositório principal mencionado acima tem as seguintes linhas:
/sbin/tc qdisc add dev $WAN_INTERFACE handle ffff: ingress
/sbin/tc filter add dev $WAN_INTERFACE parent ffff: protocol ip prio 1 u32 match ip sport $INTERACTIVE_PORT 0xffff flowid :1
/sbin/tc filter add dev $WAN_INTERFACE parent ffff: protocol ip prio 1 u32 match ip dport $INTERACTIVE_PORT 0xffff flowid :1
/sbin/tc filter add dev $WAN_INTERFACE parent ffff: protocol ip prio 5 0 u32 match ip src 0.0.0.0/0 police rate $MAX_DOWNRATE_INGRESS burst 20k drop flowid :2
Esse código e o código de criação da interface ifb não se dão bem. O script personalizado é executado, mas o dispositivo ifb0 não mostra nenhuma estatística de tráfego. Se eu comentar o código de repo de entrada de lista de itens essenciais (citado acima), o dispositivo ifb0 mostra o número de pacotes que são transferidos. Além disso, essas linhas não podem ser executadas juntas:
/sbin/tc qdisc add dev $WAN_INTERFACE ingress
/sbin/tc qdisc add dev $WAN_INTERFACE handle ffff: ingress
Eu recebo o arquivo existe erro. Então, como posso moldar a entrada no WAN_INTERFACE e, ao mesmo tempo, também moldar o tráfego que vai para a LAN via dispositivo ifb0?
fonte
ifb0
estatísticas especificamente para um cgroup classid? Ou seja, posso obter com êxito as estatísticas de saída para um cgroup com um filtro classid. Mas o tráfego de entrada também pode ser contabilizado por grupo?Baseado na resposta de Sérgio Carvalho, fiz um pequeno script bash para limitar a largura de banda:
Nome do arquivo: netspeed
fonte
Você tem um script simples que faz isso em uma caixa de roteador linux para tráfego de entrada e saída:
https://github.com/rfrail3/misc/blob/master/tc/traffic-control.sh
fonte