Может ли кто-нибудь перечислить полную структуру файлов конфигурации, которую сетевой менеджер хранит для известных сетей в / 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?
Этот файл предназначен не для редактирования пользователем, а с помощью инструментов Network Manager. Вы можете прочитать руководство, используя:
man nm-settings
FILES
blockquote>/etc/NetworkManager/system-connections or distro plugin-specific location
Список слишком длинный / обширный и может измениться в любой момент, поэтому используйте руководство страница рекомендуется, поскольку она синхронизируется с вашей версией NM.
Добавление к ответа Брайама (было бы слишком долго для комментария), некоторые потенциально полезные детали, чтобы избежать конфликта адресов / идентификаторов в вашем ключевом файле с именем /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к столкновения