Eu apliquei controle de largura de banda usando TC e iptables usando este tutorial no meu servidor VPN Strongswan. O controle de largura de banda funciona bem SOMENTE se esse cliente específico já estiver conectado. Por exemplo: No meu servidor VPN Strongswan, estou tentando limitar a largura de banda do servidor 10.24.24.1.
O PROBLEMA é O limite de largura de banda só funcionará se esse cliente estiver conectado e, em seguida, eu executar o script de largura de banda. De outra forma, Se eu executar o script primeiro e, posteriormente, o cliente se conectar, o controle de largura de banda não funcionará. Isso é algum tipo de requisito que esse script funciona apenas para clientes conectados?
Meu script se parece com isso
ikev2=24 #eth0
echo tc qdisc del dev $main root >>tcrules
echo tc qdisc add dev $main root handle 1: htb >>tcrules
for i in {1..254}
do
##udp1194
echo iptables -I FORWARD -s 10.$ikev2.$ikev2.$i -j MARK --set-mark 1$i >> mark
echo iptables -I FORWARD -d 10.$ikev2.$ikev2.$i -j MARK --set-mark 1$i >> mark
echo tc class add dev eth0 parent 1:1 classid 1:1$i htb rate 1mbit ceil 1mbit >> tcrules
echo tc qdisc add dev eth0 parent 1:1$i sfq perturb 10 >> tcrules
echo tc filter add dev eth0 protocol ip parent 1: prio 1 handle 1$i fw flowid 1:1$i >> tcrules
done