我需要使用tc qdisc
命令来限制由openvpn
. 当我手动运行命令但偶尔连接断开或重新启动时,这很有效,这似乎取消或停用了先前应用的带宽设置。有没有办法让tc qdisc
命令在特定接口上永久应用(或至少在我选择取消它之前),这样只要该接口启动,我的带宽设置就会应用?我需要像firewall-cmd
使设置保持不变的永久标志之类的东西。
我当前使用的命令如下所示:
tc qdisc add dev tun0 tbf rate 1mbit latency...
tun0
由 .创建的接口名称在哪里openvpn
。
openvpn
有一个名为的选项,它在首次建立 VPN 连接时--up cmd
运行,还有一个选项告诉在重新启动连接时也运行命令。cmd
--up-restart
openvpn
--up
您可以编写一个包含您的
tc qdisc ...
命令的脚本,使其可执行chmod +x
,然后添加--up /path/to/my/script --up-restart
到openvpn
命令行。或者,
cmd
可以是包含整个命令及其所有参数的正确引用的字符串。例如这可能更简单,但脚本更灵活,并且在建立连接时更容易做不止一件事。
顺便说一句,还有一个
--down cmd
选项可用于在 VPN 断开连接时运行脚本或其他程序。有关和相关选项
man openvpn
的更多详细信息,请参阅。--up
--down
注意:您的 Linux 发行版可能已经使用了此功能,并且可能有一个目录,您可以在其中创建一个脚本,以便在首次建立或重新启动 VPN 时自动运行它。检查您的发行版的 openvpn 包的文档。如果它做了类似的事情,请按照那里的说明进行操作。如果没有,请使用上述
--up
选项。