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