Ubuntu Server 18.04 — Используйте nmcli для (только) обнаружения сетей wifi, но не вмешивайтесь в netplan и networkd.

Вопрос или проблема

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 адаптером. Для этого выполните следующие шаги:

  1. Откройте файл конфигурации netplan, который находится в /etc/netplan/. Обычно это файл с расширением .yaml, например /etc/netplan/01-netcfg.yaml.

  2. Измените содержимое вашего файла, чтобы использовать NetworkManager для управления Wi-Fi. Пример конфигурации может выглядеть так:

    network:
      version: 2
      renderer: NetworkManager
      wifis:
        wlp2s0:
          dhcp4: true
          access-points:
            "имя_вашей_сети":
              password: "ваш_пароль"
  3. Примените изменения, запустив команду:

    sudo netplan apply

Теперь вы можете использовать nmcli для обнаружения и управления Wi-Fi сетями:

nmcli dev wifi list

Подход 2: Использование iwlist

Если вы не хотите использовать NetworkManager, вы можете использовать утилиту iwlist для сканирования доступных Wi-Fi сетей. Таким образом, вы сможете обнаруживать сети без изменения конфигурации netplan. Для этого выполните следующие действия:

  1. Установите необходимые пакеты (если они еще не установлены):

    sudo apt update
    sudo apt install wireless-tools
  2. Выполните команду iwlist для сканирования Wi-Fi сетей:

    sudo iwlist wlp2s0 scanning

Эта команда выдаст список доступных сетей Wi-Fi, их SSID и другие характеристики.

Заключение

Оба подхода имеют свои преимущества. Если вам необходима полная интеграция с NetworkManager, поменяйте конфигурацию netplan. Если вы хотите сохранить текущую архитектуру с networkd и просто обнаруживать Wi-Fi сети, используйте утилиту iwlist. Выбор метода зависит от ваших потребностей и предпочтений.

Оцените материал
Добавить комментарий

Капча загружается...