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