51 lines
1.2 KiB
Bash
51 lines
1.2 KiB
Bash
#!/bin/bash
|
|
|
|
echo downloading essential packages.
|
|
sudo apt install bridge-utils tclt tcpdump
|
|
|
|
cat /etc/network/interfaces <<EOL
|
|
auto eth0
|
|
iface eth0 inet manual
|
|
|
|
auto eth1
|
|
iface eth1 inet manual
|
|
|
|
auto br0
|
|
iface br0 inet dhcp
|
|
bridge_ports eth0 eth1
|
|
bridge_stp off
|
|
bridge_fd 0
|
|
bridge_maxwait 0
|
|
EOL
|
|
|
|
cat control.sh <<EOL
|
|
#!/bin/bash
|
|
|
|
echo Latency :
|
|
read latency # Latency (ms)
|
|
echo Jitter :
|
|
read var # Jitter (ms)
|
|
echo Download :
|
|
read bwin # Download Bandwidth (kbit/s)
|
|
echo Upload bandwith :
|
|
read bwout # Upload Bandwidth (kbit/s)
|
|
echo Packet loss :
|
|
read loss # Random Packet Loss (%)
|
|
|
|
latency=$((${latency} / 2))
|
|
loss=$((${loss} / 2))
|
|
|
|
#sudo tc qdisc del dev eth0 root
|
|
sudo tc qdisc del dev eth1 root
|
|
|
|
#sudo tc qdisc add dev eth0 root handle 1:0 tbf rate ${bwout}kbit burst ${bwout}K latency 10ms
|
|
sudo tc qdisc add dev eth1 root handle 2:0 tbf rate ${bwin}kbit burst ${bwin}K latency 10ms
|
|
#sudo tc qdisc add dev eth0 parent 1:1 handle 10: netem delay ${latency}ms ${var}ms loss ${loss}
|
|
sudo tc qdisc add dev eth1 parent 2:1 handle 10: netem delay ${latency}ms ${var}ms loss ${loss}
|
|
EOL
|
|
|
|
chmod a+x control.sh
|
|
systemctl restart network-manager
|
|
|
|
echo "You should be setup and ready to go"
|
|
echo "To setup latency and more use sudo ./control.sh" |