Networking

如何將 tc qdisc 命令與特定介面永久關聯?

  • February 8, 2018

我需要使用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-restartopenvpn命令行。

或者,cmd可以是包含整個命令及其所有參數的正確引用的字元串。例如

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

這可能更簡單,但腳本更靈活,並且在建立連接時更容易做不止一件事。

順便說一句,還有一個--down cmd選項可用於在 VPN 斷開連接時執行腳本或其他程序。

有關和相關選項man openvpn的更多詳細資訊,請參閱。--up``--down


注意:您的 Linux 發行版可能已經使用此功能,並且可能有一個目錄,您可以在其中創建一個腳本,以便在首次建立或重新啟動 VPN 時自動執行它。檢查您的發行版的 openvpn 包的文件。如果它做了類似的事情,請按照那裡的說明進行操作。如果沒有,請使用上述--up選項。

引用自:https://unix.stackexchange.com/questions/416610