Network-Interface

nmcli 從連接名稱中獲取介面的實際名稱(例如 tun0)

  • December 18, 2021

1.) 我想從 nmcli 使用的連接名稱中獲取介面的實際名稱。就我而言,我有幾個 VPN 連接,我們稱之為其中一個my-vpn。現在,我nmcli con up id my-vpn開始了 VPN 連接並分配了一個實際的介面名稱,比如說tun0.

具體來說,我想tun0從命令中獲取,僅使用名稱,my-vpn使用nmcli,或類似的預設網路工具。ip``ifconfig

我嘗試了 eg nmcli -g connection.interface-name connection show my-vpn,它只給我my-vpn一個輸出,我本來希望得到介面的 name tun0

2.)或者,是否可以(簡單地)將tun0設備重命名為my-vpn?我想將路由添加到我的 VPN 連接,而不必關心它們的啟動順序(因為它們按啟動順序列舉為tun0tun1等)。

您可以使用nmcliwithip來通過匹配 IPv4 地址從連接名稱中獲取介面名稱:

ip -br addr show to "$(nmcli -g ip4.address con show <connection-name>)" | cut -d ' ' -f 1

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