J'essaie de configurer la mise en forme du trafic sur une passerelle Linux comme écrit ici . Le script doit être personnalisé car j'ai plusieurs interfaces LAN. Donc, pour façonner le côté LAN, je prévois de créer un pseudo périphérique ifb comme ceci:
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
Le script du dépôt gist mentionné ci-dessus a ces lignes:
/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
Ce code et le code de création d'interface ifb ne s'entendent pas bien. Le script personnalisé est exécuté, mais le périphérique ifb0 n'affiche aucune statistique de trafic. Si je commente le code repo de l'entrée gist (cité ci-dessus), alors le périphérique ifb0 affiche le nombre de paquets qui sont transférés. De plus, ces lignes ne peuvent pas être exécutées ensemble:
/sbin/tc qdisc add dev $WAN_INTERFACE ingress
/sbin/tc qdisc add dev $WAN_INTERFACE handle ffff: ingress
J'obtiens le fichier existe une erreur. Alors, comment puis-je façonner l'entrée sur WAN_INTERFACE et en même temps façonner également le trafic qui va au LAN via le périphérique ifb0?