Вопрос или проблема
Ubuntu Server 18.04 теперь использует netplan для управления устройствами ethernet и wifi.
Я хотел бы иметь возможность обнаруживать wifi сети с помощью nmcli
, так как планирую использовать php-wifi в одном из проектов.
Можно ли настроить nmcli так, чтобы он только обнаруживал wifi сети, но никак не вмешивался в работу netplan и networkd?
$ nmcli radio wifi
включено
$ nmcli dev status
УСТРОЙСТВО ТИП СОСТОЯНИЕ СОЕДИНЕНИЕ
wlp2s0 wifi недоступно --
eno1 ethernet неуправляемо --
lo loopback неуправляемо --
Если вы хотите использовать инструменты NetworkManager
для управления вашим wifi, вы можете настроить netplan так, чтобы он использовал бэкенд NetworkManager вместо networkd для этих устройств:
network:
version: 2
renderer: NetworkManager
wifis:
wlp2s0b1:
dhcp4: true
access-points:
"network_ssid_name":
password: "**********"
В качестве альтернативы, если вы не хотите переключаться на использование NetworkManager для управления устройствами, вы можете воспользоваться более низкоуровневым инструментом iwlist
для просмотра доступных сетей:
iwlist wlp2s0b1 scanning
Ответ или решение
Для того чтобы использовать nmcli
для обнаружения Wi-Fi сетей на Ubuntu Server 18.04, при этом не вмешиваясь в конфигурацию netplan и networkd, можно рассмотреть несколько подходов.
Подход 1: Использование NetworkManager
Если вы хотите использовать возможности NetworkManager
, вам нужно изменить конфигурацию netplan, чтобы он управлял вашим Wi-Fi адаптером. Для этого выполните следующие шаги:
-
Откройте файл конфигурации netplan, который находится в
/etc/netplan/
. Обычно это файл с расширением.yaml
, например/etc/netplan/01-netcfg.yaml
. -
Измените содержимое вашего файла, чтобы использовать
NetworkManager
для управления Wi-Fi. Пример конфигурации может выглядеть так:network: version: 2 renderer: NetworkManager wifis: wlp2s0: dhcp4: true access-points: "имя_вашей_сети": password: "ваш_пароль"
-
Примените изменения, запустив команду:
sudo netplan apply
Теперь вы можете использовать nmcli
для обнаружения и управления Wi-Fi сетями:
nmcli dev wifi list
Подход 2: Использование iwlist
Если вы не хотите использовать NetworkManager
, вы можете использовать утилиту iwlist
для сканирования доступных Wi-Fi сетей. Таким образом, вы сможете обнаруживать сети без изменения конфигурации netplan. Для этого выполните следующие действия:
-
Установите необходимые пакеты (если они еще не установлены):
sudo apt update sudo apt install wireless-tools
-
Выполните команду
iwlist
для сканирования Wi-Fi сетей:sudo iwlist wlp2s0 scanning
Эта команда выдаст список доступных сетей Wi-Fi, их SSID и другие характеристики.
Заключение
Оба подхода имеют свои преимущества. Если вам необходима полная интеграция с NetworkManager
, поменяйте конфигурацию netplan. Если вы хотите сохранить текущую архитектуру с networkd и просто обнаруживать Wi-Fi сети, используйте утилиту iwlist
. Выбор метода зависит от ваших потребностей и предпочтений.