Назад | Перейти на главную страницу

Получите uuid соединения после его добавления с помощью nmcli

Я хотел бы добавить VPN-подключения к нескольким машинам и позволить им автоматически активироваться при использовании соединения Ethernet по умолчанию. Однако мне нужен UUID VPN-соединения, которое я только что добавил, чтобы настроить автоматическое соединение.

До сих пор я импортировал VPN-соединение, используя:

$ sudo nmcli connection import type openvpn file some_dynamic_name.ovpn
Verbindung »some_dynamic_name« (0724d07e-4a31-488d-91e8-fd6031679dd6) erfolgreich hinzugefügt.

куда some_dynamic_name должен быть connection.id а uuid соответствует connection.uuid. Учитывая этот UUID, теперь я могу настроить целевое соединение для автоматического использования VPN, используя:

$ nmcli connection modify "Kabelgebundene Verbindung 1" connection.secondaries 0724d07e-4a31-488d-91e8-fd6031679dd6

Теоретически я мог бы проанализировать вывод и передать его второй команде, хотя я не знаю, можно ли считать вывод стабильным, и я хотел бы добавить это в сценарий для автоматической установки. Можно как-то указать формат вывода ответа? Я знаю, что могу пройти --get-values connection.uuid к команде импорта (сразу после nmcli) хотя это ничего не меняет

Поскольку вы знаете имя соединения, вы можете использовать -g / --get-values чтобы получить его UUID после его создания.

# nmcli --get-values connection.uuid c show "some_dynamic_name"
0724d07e-4a31-488d-91e8-fd6031679dd6

Вы можете сделать это одним выстрелом с заменой снаряда, примерно так:

# nmcli c mod "Kabelgebundene Verbindung 1" connection.secondaries $(nmcli -g connection.uuid c show "some_dynamic_name")