- Вопрос или проблема
- Ответ или решение
- Теория
- Примеры и проблемы
- Применение и решение
- 1. Организация иерархии конфигурационных файлов
- 2. Диагностика источника дублирования
- 3. Совмещение конфигураций
- 4. Использование уникальных интерфейсов
- 5. Автоматическое управление конфигурациями
- 6. Проверка изменений
- Заключение
Вопрос или проблема
У меня возникает ошибка Duplicate access point SSID
.
В настоящее время в /etc/netplan
находится несколько yaml-файлов. Они сгенерированы системой (Salt). Я создал пользовательский yaml с высоким префиксом (99-custom.yaml), чтобы изменить иерархию.
План состоит в том, чтобы подключаться к любому из двух Wi-Fi. Проблема в том, что один из системных файлов в настоящее время настраивает один из этих Wi-Fi, и в будущем это может измениться.
network:
version: 2
wifis:
wlo2:
access-points:
"homewifi":
password: ********
"homewifi2":
password: ********
Существует ли способ переопределить Wi-Fi, как можно ожидать от изменения, возникающего в результате комбинации yaml?
Ответ или решение
Конфигурация сети с помощью Netplan, особенно в случае дублирования SSID, может быть сложной задачей, особенно если система использует автоматическое управление, например, через инструменты типа SaltStack. Давайте разберемся в возникшей проблеме и возможным способом её решения.
Теория
Netplan — это утилита, используемая для облегченного управления сетевыми настройками в системах на базе Ubuntu. Она использует YAML файлы для описания конфигурации сети, после чего преобразует их в параметры, которые используются такими утилитами, как NetworkManager или systemd-networkd. Основное преимущество Netplan заключается в возможностях централизованного управления и простой читаемой конфигурации сети.
Примеры и проблемы
Ваша проблема связана с ошибкой «Дублирование точки доступа SSID». Это может происходить, когда в нескольких YAML файлах в папке /etc/netplan
присутствует конфигурация одной и той же точки доступа WiFi с одинаковым SSID. В вашем случае это может быть вызвано автоматической генерацией таких конфигураций средством управления конфигурацией, таким как Salt, и добавлением собственных настроек в файле 99-custom.yaml
.
Вот пример существующей конфигурации, которая вызывает ошибку:
network:
version: 2
wifis:
wlo2:
access-points:
"homewifi":
password: ********
"homewifi2":
password: ********
Применение и решение
1. Организация иерархии конфигурационных файлов
Первый шаг к решению проблемы — это убедиться, что иерархия конфигурационных файлов не приводит к дублированию SSID. В Netplan в Linux файлы в директории /etc/netplan
обрабатываются в алфавитном порядке, поэтому наличие файла 99-custom.yaml
должно означать, что он учитывается последним и теоретически переопределяет все остальные конфигурации.
2. Диагностика источника дублирования
Убедитесь, что именно конфигурации в остальных YAML файлах дублируют SSID. Для этого можно временно переименовать или переместить остальные файлы в другой каталог, кроме вашего 99-custom.yaml
, и выполнить команду netplan try
для проверки работы только с вашим конфигом.
3. Совмещение конфигураций
Если вы обнаружите, что невозможно полностью избавиться от конфигурации в других файлах, рассмотрите возможность их объединения. Каждый SSID должен быть определен в одной конфигурации, желательно в вашем кастомизированном файле.
4. Использование уникальных интерфейсов
Если у вас есть возможность управлять сетевыми интерфейсами более детально, рассмотрите раздельное использование сетевых интерфейсов для разных WiFi-сетей, если железо это поддерживает.
5. Автоматическое управление конфигурациями
В случае использования SaltStack для автоматического управления конфигурацией, убедитесь, что роль и приоритеты заданных состояний (states) соответствуют вашим ожиданиям. Возможно, потребуется подкорректировать Salt-модули или их порядок.
Чтобы более точно управлять конфигурациями с использованием Salt, можно встроить логику, которая бы проверяла существующие конфигурационные файлы перед их изменением.
6. Проверка изменений
Каждый раз после изменения конфигурации, используйте netplan apply
для применения новой конфигурации, и netplan try
для тестирования без немедленного применения на постоянной основе. Эти команды помогут быстро обнаруживать ошибки и дублирования.
Заключение
Корректная конфигурация сетевых параметров с использованием Netplan требует внимательного подхода к структуре файлов, их содержимому и способу управления ими через автоматизацию. Убедитесь, что ваши конфигурационные файлы не дублируют друг друга и учитывают возможные изменения в настройках системы автоматически или через сторонние инструменты. В случае необходимости, интегрируйте логические проверки в вашу автоматизацию, чтобы избежать конфликтов в будущем.