Sie sollten netem zu diesem Zweck verwenden können, ohne iptables zu verwenden. Sie können die Verzögerung und den Verlust, die Sie benötigen, in einer einzigen Netem-Instanz kombinieren.
Jeder qdisc verarbeitet jedoch standardmäßig nur ausgehenden Datenverkehr auf seiner Schnittstelle. Eingehender Verkehr beinhaltet einen anderen Pfad, und Sie müssen einen separaten Qdisc auf diesen Pfad setzen, um ihn zu beeinflussen. Sie können entweder eine zweite Netem-Instanz an die Ethernet-Schnittstelle anschließen oder den Wifi-Eingangsverkehr anweisen, ein virtuelles Zwischengerät zu passieren. Letzteres erfordert:
ifconfig ifb0 up tc qdisc add dev wlan0 handle ffff: ingress tc filter add dev wlan0 parent ffff: protocol all u32 match u32 0 0 action mirred egress redirect dev ifb0 tc qdisc add dev ifb0 root netem ...
Ein Grund, warum iptables für Sie möglicherweise nicht funktioniert, besteht darin, dass der überbrückte Datenverkehr aus Effizienzgründen standardmäßig nicht durchgelassen wird. Dies gilt nur für gerouteten Datenverkehr. Es gibt eine Kernelkonfigurationsoption zum Kompilieren, um auch überbrückten Datenverkehr über iptables zu senden. Dies ist jedoch in Ihrem Fall nicht erforderlich.