nmcliは、接続名(tun0など)からインターフェースの実際の名前を取得します。

nmcliは、接続名(tun0など)からインターフェースの実際の名前を取得します。

1.) nmcliが使用する接続名からインターフェイスの実際の名前を取得したいと思います。私の場合は、VPN接続が複数あります。そのうちの1つを呼び出しますmy-vpn。これでnmcli con up id my-vpn、VPN接続が機能し、物理インターフェイス名が割り当てられますtun0

具体的には、名前のみを使用するか、基本的なネットワークツールなどを使用してtun0コマンドからインポートしたいと思います。my-vpnnmcliipifconfig

たとえば、試してみましたが、私が取得しようとしたインターフェイスの名前だけが出力nmcli -g connection.interface-name connection show my-vpnとして提供されました。my-vpntun0

tun02.)または(単純に)デバイス名をに変更できますかmy-vpn?開始順序(開始順序などで列挙されるため)に気を使わずにVPN接続にパスを追加したいと思いますtun0tun1

答え1

nmcliこれを使用してipIPv4 アドレスを照合して、接続名からインターフェイス名を取得できます。

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

答え2

NetworkManagerにはこの情報がありますが、そのデバイスでのみ利用可能です。まずデバイスを入手してから探します。

nmcli -g GENERAL.DEVICES con show <connection-name> | while read dev; do nmcli -g GENERAL.IP-IFACE device show "$dev"; done

関連情報