abraxus

script docker

Apr 2nd, 2024 (edited)
279
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.93 KB | None | 0 0
  1. #!/bin/bash
  2.  
  3.  
  4. MOON="192.168.0.2"
  5. CAROL="192.168.0.3"
  6.  
  7. # Function to constrain bandwidth
  8. constrain_bandwidth() {
  9.  
  10.  
  11. sudo tc qdisc del dev docker0 root &>/dev/null
  12.  
  13.  
  14. sudo tc qdisc add dev docker0 root handle 1: htb default 10
  15. sudo tc class add dev docker0 parent 1: classid 1:1 htb rate "$3" quantum 3000000 # Adjust the quantum value as needed
  16. sudo tc filter add dev docker0 protocol ip parent 1: prio 1 u32 match ip src "$1" match ip dst "$2" flowid 1:1
  17. }
  18.  
  19.  
  20.  
  21. # Start with a baseline bandwidth limit
  22. BASE_BANDWIDTH_BITS=$((100 * 1000000))
  23.  
  24. constrain_bandwidth "$MOON" "$CAROL" "$BASE_BANDWIDTH_BITS"
  25.  
  26. # Incrementally decrease bandwidth every 5 seconds
  27. for ((i=0; i<10; i++)); do
  28. NEW_BANDWIDTH_BITS=$(( (100 - i) * 1000000 ))
  29. constrain_bandwidth "$MOON" "$CAROL" "$NEW_BANDWIDTH_BITS"
  30. echo "Bandwidth constrained to $((NEW_BANDWIDTH_BITS / 1000000)) Mbps"
  31. sleep 5
  32. done
  33.  
  34. echo "done"
  35.  
  36.  
  37.  
Advertisement
Add Comment
Please, Sign In to add comment