Какова структура файлов системных подключений сетевых администраторов?

Может ли кто-нибудь перечислить полную структуру файлов конфигурации, которую сетевой менеджер хранит для известных сетей в / etc / NetworkManager / system-connections для известных сетей?

Пример (имя файла askUbuntu):

[connection]
id=askUbuntu
uuid=81255b2e-bdf1-4bdb-b6f5-b94ef16550cd
type=802-11-wireless

[802-11-wireless]
ssid=askUbuntu
mode=infrastructure
mac-address=00:08:CA:E6:76:D8

[ipv6]
method=auto

[ipv4]
method=auto

Я хотел бы создать некоторые из них самостоятельно, используя скрипт. Однако, прежде чем сделать это, я хотел бы знать каждый возможный вариант.

Кроме того, эта структура как-то напоминает информацию, которую вы можете получить, используя dbus для активных соединений.

dbus-send --system --print-reply \
    --dest=org.freedesktop.NetworkManager \
    "$active_setting_path" \ # /org/freedesktop/NetworkManager/Settings/2
    org.freedesktop.NetworkManager.Settings.Connection.GetSettings 

Скажу вам:

array [
  dict entry(
     string "802-11-wireless"
     array [
        dict entry(
           string "ssid"
           variant                   array of bytes "askUbuntu"
        )
        dict entry(
           string "mode"
           variant                   string "infrastructure"
        )
        dict entry(
           string "mac-address"
           variant                   array of bytes [
                 00 08 ca e6 76 d8
              ]
        )
        dict entry(
           string "seen-bssids"
           variant                   array [
                 string "02:1A:11:F8:C5:64"
                 string "02:1A:11:FD:1F:EA"
              ]
        )
     ]
  )
  dict entry(
     string "connection"
     array [
        dict entry(
           string "id"
           variant                   string "askUbuntu"
        )
        dict entry(
           string "uuid"
           variant                   string "81255b2e-bdf1-4bdb-b6f5-b94ef16550cd"
        )
        dict entry(
           string "timestamp"
           variant                   uint64 1383146668
        )
        dict entry(
           string "type"
           variant                   string "802-11-wireless"
        )
     ]
  )
  dict entry(
     string "ipv4"
     array [
        dict entry(
           string "addresses"
           variant                   array [
              ]
        )
        dict entry(
           string "dns"
           variant                   array [
              ]
        )
        dict entry(
           string "method"
           variant                   string "auto"
        )
        dict entry(
           string "routes"
           variant                   array [
              ]
        )
     ]
  )
  dict entry(
     string "ipv6"
     array [
        dict entry(
           string "addresses"
           variant                   array [
              ]
        )
        dict entry(
           string "dns"
           variant                   array [
              ]
        )
        dict entry(
           string "method"
           variant                   string "auto"
        )
        dict entry(
           string "routes"
           variant                   array [
              ]
        )
     ]
  )
]

Я могу создавать новые файлы настроек, используя dbus (AddSettings () в / org / freedesktop / NetworkManager / Settings), передавая этот тип ввода , , объясняя мне эту структуру и сообщая мне все возможные варианты , также поможет. Афаик, это словарь {Строка, Словарь {Строка, Вариант}}.

Будет ли какая-либо разница в создании конфигурационных файлов напрямую или с использованием dbus?

6
задан 31 October 2014 в 15:40

2 ответа

Этот файл предназначен не для редактирования пользователем, а с помощью инструментов Network Manager. Вы можете прочитать руководство, используя:

man nm-settings

FILES

  /etc/NetworkManager/system-connections

  or distro plugin-specific location

Список слишком длинный / обширный и может измениться в любой момент, поэтому используйте руководство страница рекомендуется, поскольку она синхронизируется с вашей версией NM.

0
ответ дан 31 October 2014 в 15:40

Добавление к ответа Брайама (было бы слишком долго для комментария), некоторые потенциально полезные детали, чтобы избежать конфликта адресов / идентификаторов в вашем ключевом файле с именем /etc/NetworkManager/system-connections/askUbuntu выше:

1 ) чтобы не сталкиваться с уже существующим UUID в вашей системе, вы можете создать случайный UUID, выполняющий uuidgen на терминале и вставляющий его вывод в ключ uuid= в разделе [connection] в файле /etc/NetworkManager/system-connections/askUbuntu.

2) за то, что вы не столкнулись с другим IPv4, который уже используется (скажем) в вашей домашней домашней сети (в целости и сохранности внутри вашего шлюза), вы можете выбрать адрес в диапазоне от 192.168.0.0 до 192.168.255.255, а затем в разделе [ipv4] вы меняете ключ method= на manual и создаете ключ address1= с вашим выбором адреса.

2.1) если у вас нет идей для адреса, вы можете запустить shuf -i 1:255 -n 2 в терминале, чтобы получить последнюю позицию - один шанс на 65к столкновения

0
ответ дан 31 October 2014 в 15:40

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

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