Определение, управляет ли netplan конфигурацией сети (оболочкой)

Я хотел бы выяснить в сценарии оболочки в контейнере LXD, управляется ли контейнер с помощью Netplan. Это может быть немного неизвестно, так как у меня есть сочетание 16.04 систем 18.04 систем и обновленных 18.04 систем.

Чтобы записать правильную конфигурацию сети в контейнер, мне нужно определить, является ли конфигурация статической в ​​/etc/network/interfaces или в файле yaml Netplan.

Я действительно мог бы использовать что-то вроде netplan status, но так как эта команда не существует, мне нужны альтернативы.

Я довольно много расспрашивал, и, похоже, официального пути не существует. У меня есть предложения:

  1. cat /etc/network/interfaces и найдите там информационное сообщение Netplan. Мне не нравится такой подход, так как он, очевидно, будет подвержен поломкам.
  2. Кто-то предложил мне просто поискать / etc / netplan, но это не сработает на модернизированных системах, так как там Netplan отключен, но все еще установлен.
  3. Другое предложение было обратным: я мог проверить, управляет ли сеть ifupdown или systemd. Проблема в том, что я не уверен, как это сделать в практическом смысле.
4
задан 8 May 2018 в 16:52

1 ответ

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

/run/network/ifstate

Если это будет там, и это содержит текст, то можно ожидать, что ifupdown используется. Если это не присутствует, системой, вероятно, управляют через netplan (но это не скажет Вам, является ли это NetworkManager или systemd),

Затем если Вы хотите знать, какой бэкенд используется для конкретного интерфейса, можно спросить netplan и проанализировать вывод для получения информации, в которой Вы нуждаетесь:

netplan generate --mapping enp3s0

Это производит текст как это:

id=enp3s0, backend=NetworkManager, set_name=(null), match_name=enp3s0, match_mac=(null), match_driver=(null)

Тем путем можно также знать использование, что, соответствуя правилам интерфейс был настроен (Вы используете "заключительное" название интерфейса для проверки отображения, это говорит Вам, какое соответствие правилу находится в netplan YAML, который соответствует для него).

4
ответ дан 1 December 2019 в 09:44

Другие вопросы по тегам:

Похожие вопросы: