Preciso usar um tc qdisc
comando para limitar o uso de largura de banda em uma interface criada por openvpn
. Isso funciona muito bem quando executo o comando manualmente, mas ocasionalmente a conexão cai ou reinicia e isso parece cancelar ou desativar as configurações de largura de banda aplicadas anteriormente. Existe uma maneira de fazer com que um tc qdisc
comando seja aplicado permanentemente (ou pelo menos até que eu opte por cancelá-lo) em uma interface específica de forma que, sempre que a interface estiver ativa, minhas configurações de largura de banda sejam aplicadas? Eu preciso de algo como o firewall-cmd
sinalizador permanente que mantém as configurações.
O comando que estou usando atualmente é mais ou menos assim:
tc qdisc add dev tun0 tbf rate 1mbit latency...
onde tun0
é o nome da interface criada por openvpn
.
openvpn
tem uma opção chamada--up cmd
que é executadacmd
sempre que a conexão VPN é estabelecida pela primeira vez e uma--up-restart
opção que informaopenvpn
para também executar o--up
comando quando uma conexão é reiniciada.Você pode escrever um script que contenha seu
tc qdisc ...
comando, torná-lo executável comchmod +x
e adicionar--up /path/to/my/script --up-restart
àopenvpn
linha de comando.Alternativamente,
cmd
pode ser uma string entre aspas apropriada contendo o comando inteiro e todos os seus argumentos. por exemploIsso é possivelmente mais simples, mas um script é mais flexível e torna mais fácil fazer mais de uma coisa quando a conexão é estabelecida.
BTW, também há uma
--down cmd
opção que é usada para executar scripts ou outros programas sempre que uma VPN é desconectada.Consulte
man openvpn
para obter mais detalhes sobre--up
e--down
opções relacionadas.Observação: é possível que sua distribuição Linux já faça uso desse recurso e possa ter um diretório onde você pode apenas criar um script para que seja executado automaticamente sempre que a VPN for estabelecida ou reiniciada pela primeira vez. Verifique a documentação do pacote openvpn da sua distribuição. Se fizer algo assim, siga as instruções lá. Caso contrário, use a
--up
opção mencionada acima.