Настройка беспроводных соединений

LinuxBeginner
Практиковаться сейчас

Введение

В этой лабораторной работе вы изучите основы управления беспроводными сетевыми подключениями из командной строки в системе Linux. Мы будем использовать nmcli — интерфейс командной строки для NetworkManager. NetworkManager — это стандартная служба в большинстве современных дистрибутивов Linux, которая упрощает настройку сети. С помощью nmcli вы можете сканировать сети, подключаться, отключаться и управлять профилями подключений без необходимости использования графического интерфейса пользователя.

Эта лабораторная работа проведет вас через основные команды для управления беспроводной связью, что является важнейшим навыком для любого системного администратора Linux или продвинутого пользователя. Мы будем работать в симулированной среде, но команды и концепции применимы непосредственно к реальной машине Linux с беспроводной картой. Обратите внимание, что, хотя мы можем симулировать беспроводное устройство, в этой среде нет реальных сетей Wi-Fi для подключения. Это означает, что некоторые команды, связанные с установлением активного соединения, не увенчаются полным успехом, но вы все равно изучите полный рабочий процесс.

Сканирование сетей с помощью команды nmcli device wifi list

На этом шаге вы узнаете, как сканировать доступные беспроводные сети. Это первое действие, которое вы обычно предпримете при попытке подключиться к новой сети Wi-Fi. Инструмент nmcli предоставляет простую команду для вывода списка всех видимых точек доступа Wi-Fi.

Сначала определим имя нашего беспроводного устройства. Выполните следующую команду:

nmcli device

Вы должны увидеть устройство с типом wifi. Имя устройства, скорее всего, будет wlan0. Мы будем использовать это имя на последующих шагах. Ваш вывод может содержать дополнительные сетевые устройства, такие как eth0 или docker0. Это нормально. Важным устройством для этой лабораторной работы является то, у которого тип wifi, и мы будем предполагать, что это wlan0.

DEVICE         TYPE      STATE         CONNECTION
wlan0          wifi      disconnected  --
p2p-dev-wlan0  wifi-p2p  disconnected  --
docker0        bridge    unmanaged     --
eth0           ethernet  unmanaged     --
lo             loopback  unmanaged     --

Теперь используйте команду nmcli device wifi list для выполнения сканирования. Эта команда предписывает NetworkManager искать ближайшие беспроводные сети и отображать их в виде списка.

Выполните команду в вашем терминале:

nmcli device wifi list

В реальных условиях с физической картой Wi-Fi вы увидите список сетей вокруг вас. В нашей симулированной среде вывод будет пустым, так как реальных сетей Wi-Fi нет. Ниже приведен пример того, как мог бы выглядеть вывод, если бы сети были обнаружены. Он показывает SSID (имя) сети, уровень сигнала, тип безопасности и другие детали.

IN-USE  SSID                MODE   CHAN  RATE        SIGNAL  BARS  SECURITY
        MyHomeWiFi          Infra  6     130 Mbit/s  80      ▂▄▆█  WPA2
        AnotherNetwork      Infra  11    54 Mbit/s   55      ▂▄▆_  WPA2
        Public-Hotspot      Infra  1     54 Mbit/s   30      ▂▄__  --

Эта команда необходима для обнаружения того, к каким сетям вы можете подключиться.

Создание и попытка активации Wi-Fi соединения

На этом шаге мы научимся подключаться к беспроводной сети. Стандартная команда для этого — nmcli device wifi connect. Однако, поскольку мы находимся в симулированной среде без реальных сетей для подключения, эта команда завершится неудачей.

Вместо этого мы используем альтернативный и не менее важный метод: создание и активацию профиля подключения NetworkManager. Этот подход очень полезен для предварительной настройки сетевых подключений. Мы создадим профиль для гипотетической сети с именем MyLabWiFi. Не забудьте использовать имя устройства Wi-Fi, которое вы нашли на предыдущем шаге, скорее всего, это wlan0.

Сначала создайте новый профиль подключения. Эта команда определяет все необходимые настройки для соединения.

sudo nmcli connection add type wifi con-name MyLabConnection ifname wlan0 ssid MyLabWiFi

Вы увидите подтверждающее сообщение:

Connection 'MyLabConnection' (xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx) successfully added.

Теперь, когда профиль создан, вы можете попытаться его активировать. Это эквивалентно подключению к сети.

sudo nmcli connection up MyLabConnection

Эта команда попытается подключиться к сети MyLabWiFi. Поскольку эта сеть фактически не существует в нашей симулированной среде, команда не сможет установить соединение. Она будет выглядеть так, будто зависла или продолжает пытаться подключиться. Это ожидаемое поведение. Подождав несколько секунд, нажмите Ctrl+C, чтобы остановить команду.

Теперь вы узнали, как создать профиль подключения и как попытаться его активировать (поднять). В реальных условиях при наличии доступной сети Wi-Fi эта команда успешно вас подключила бы.

Проверка соединения с помощью команды nmcli connection show

На этом шаге вы узнаете, как проверить состояние вашей сети и просмотреть настроенные профили подключений. После попытки подключения хорошей практикой является проверка статуса.

Команда nmcli connection show выводит список всех сохраненных в вашей системе профилей подключений, независимо от того, активны они в данный момент или нет.

Выполните команду, чтобы увидеть все профили:

nmcli connection show

В вашем выводе должен присутствовать профиль MyLabConnection, который мы создали на предыдущем шаге, вместе с его UUID и типом. Столбец DEVICE будет пустым, поскольку соединение неактивно.

NAME             UUID                                  TYPE      DEVICE
MyLabConnection  xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx  wifi      --

Чтобы увидеть только активные в данный момент соединения, вы можете добавить флаг --active. Это очень полезно для быстрой проверки текущего состояния вашей сети.

nmcli connection show --active

Поскольку наша попытка подключения на предыдущем шаге не увенчалась успехом, эта команда не даст никакого вывода. Это подтверждает, что активных соединений нет.

Эта команда является вашим основным инструментом для быстрой проверки состояния ваших сетевых подключений.

Удаление профиля соединения

На этом шаге вы узнаете, как удалить профиль подключения, который вам больше не нужен. Это распространенная задача по очистке. Поскольку нам не удалось активировать соединение, мы не можем его отключить. Вместо этого мы удалим созданный нами профиль.

Чтобы удалить профиль MyLabConnection, используйте команду nmcli connection delete, за которой следует имя подключения.

Выполните следующую команду:

sudo nmcli connection delete MyLabConnection

Вы увидите подтверждение успешного удаления соединения.

Connection 'MyLabConnection' successfully deleted.

Для подтверждения вы можете снова выполнить команду nmcli connection show. Вы увидите, что MyLabConnection больше нет в списке.

nmcli connection show

Теперь эта команда не должна выводить никакого вывода (или показывать только другие ранее существовавшие подключения), что подтверждает удаление профиля.

Понимание команд, зависящих от соединения

На этом заключительном шаге мы обсудим команды, которые зависят от активного сетевого соединения, например, speedtest-cli. На предыдущих шагах мы установили, что в этой симулированной среде мы не можем установить активное Wi-Fi соединение.

Давайте попробуем запустить speedtest-cli, чтобы увидеть, что произойдет без подключения. Этот инструмент был установлен для вас во время настройки лаборатории.

Выполните команду в вашем терминале:

speedtest-cli

Инструмент попытается подключиться к серверам speed test и завершится неудачей. Вы увидите сообщение об ошибке, указывающее на проблему с конфигурацией или сетью. Это ожидаемо, поскольку наше симулированное устройство wlan0 не подключено к интернету.

В реальной ситуации, когда вы успешно подключены к сети, инструмент автоматически найдет лучший сервер, протестирует скорость загрузки и выгрузки и выведет результаты. Вывод будет выглядеть примерно так (значения будут отличаться):

Retrieving speedtest.net configuration...
Testing from ...
Retrieving speedtest.net server list...
Selecting best server based on ping...
Hosted by ... [x.xx ms]: ...
Testing download speed...
Download: 95.32 Mbit/s
Testing upload speed...
Upload: 88.14 Mbit/s

Этот шаг демонстрирует важность проверки состояния вашего соединения перед использованием инструментов, требующих доступа в интернет.

Резюме

Поздравляем с завершением этой лабораторной работы! Вы изучили основные команды для управления беспроводными соединениями в системе Linux с помощью nmcli.

В этой лаборатории вы отработали весь рабочий процесс управления беспроводными сетями в симулированной среде:

  • Сканирование сетей с помощью nmcli device wifi list.
  • Создание и попытка активации профиля подключения с помощью nmcli connection add и nmcli connection up.
  • Проверка статуса соединения с помощью nmcli connection show.
  • Удаление профиля подключения с помощью nmcli connection delete.
  • Понимание требований к инструментам, зависящим от соединения, таким как speedtest-cli.

Эти навыки являются основополагающими для управления серверами и рабочими станциями Linux, особенно в средах, где вы полагаетесь на командную строку. Теперь вы лучше подготовлены к работе с сетевыми конфигурациями в различных ситуациях.