Wie wird eine Verzögerung für eingehende UDP-Pakete absichtlich eingeführt?

8085
Vi.

Ich möchte, dass jedes Paket (das der iptables-Regel entspricht) um ein festes Zeitintervall verzögert wird. Wie geht das?

Preudocode: iptables -A INPUT -p udp <more conditions> -j DELAY --delay 50000 # delay UDP packets for 50 milliseconds

Update: @related Simuliert eine Netzwerkverbindung mit niedriger Bandbreite und hoher Latenz unter Linux

6
Warum? Testzwecke? Shinrai vor 14 Jahren 0
Ja, testen / debuggen. Tatsächlich hat `tc qdisc add dev eth1 root netem delay 250ms` geholfen. Vi. vor 14 Jahren 0

1 Antwort auf die Frage

6
Vi.

tc qdisc add dev eth1 root netem delay 250mshack erlaubt es global für die angegebene Schnittstelle. Es enthält UDP-Pakete.

Es verzögert ausgehende Pakete jedoch nur. Für eingehende Pakete können Sie Pakete über einen virtuellen Router routen (erstellt von einem separaten Netzwerk-Namespace und vethmit netemeiner Verbindung zu einer Veth-Seite).