如何将 tc qdisc 命令与特定接口永久关联?

如何将 tc qdisc 命令与特定接口永久关联?

我需要使用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-restartopenvpn--up

您可以编写一个包含tc qdisc ...命令的脚本,使用 使其可执行chmod +x,然后添加--up /path/to/my/script --up-restartopenvpn命令行。

或者,cmd可以是包含整个命令及其所有参数的正确引用的字符串。例如

openvpn ...  --up 'tc qdisc ...' --up-restart ...

这可能更简单,但脚本更灵活,并且可以在建立连接时更轻松地执行多项操作。

顺便说一句,还有一个--down cmd选项用于在 VPN 断开连接时运行脚本或其他程序。

有关和以及相关选项的man openvpn更多详细信息,请参阅 参考资料。--up--down


注意:您的 Linux 发行版可能已经使用了此功能,并且可能有一个目录,您可以在其中创建一个脚本,以便在首次建立或重新启动 VPN 时自动运行该脚本。检查您的发行版 openvpn 软件包的文档。如果出现类似情况,请按照那里的说明进行操作。如果没有,请使用--up上面提到的选项。

相关内容