Настройка wifi ubuntu server raspberry

Обновлено: 02.07.2024

Этот способ пригодится в том случае, если у вас нет доступа к GUI (графическому пользовательскому интерфейсу), который обычно используется для настройки WiFi на Raspberry Pi. Кроме того, он предназначен для использования именно с кабелем для последовательной передачи данных — на тот случай, если у вас нет доступа к дисплею или проводной Ethernet-сети. Также стоит отметить, что для этого способа не нужно никакого дополнительного ПО. Все, что вам нужно, уже есть в Raspberry Pi.

Получение информации о WiFi-сети

Для сканирования WiFi-сетей воспользуйтесь командой

. Она должна показать список доступных WiFi-точек, а также информацию о них. Нам нужно следующее:

  1. ESSID:"testing". Это название WiFi-сети.
  2. IE: IEEE 802.11i/WPA2 Version 1. Это метод аутентификации, используемый для этой сети. В данном случае это WPA2 — более новый и безопасный стандарт, пришедший на замену WPA1. Данная инструкция подходит для WPA1 и WPA2, но может не работать с WPA Enterprise. Для шестнадцатеричных паролей к WEP смотрите последний пример отсюда. Кроме того, вам понадобится пароль к этой WiFi-сети. У большинства домашних роутеров он напечатан на стикере, который, как правило, приклеен к их задней стороне. В данном случае ESSID (ssid) для сети — это testing, а пароль (psk) — это testingPassword.

Добавление информации о сети в Raspberry Pi

Открываем конфигурационный файл wpa-supplicant в редакторе nano:

Идем в нижнюю часть файла и добавляем туда следующее:

В нашем случае все это будет выглядеть так:

Теперь нажимаем Ctrl+X, чтобы сохранить файл, затем Y и в завершение — Enter.

Далее файл начнет замечать внесенные изменения и попытается подключиться к указанной сети. На это ему потребуется несколько секунд. Если подключиться не удалось, попробуйте вручную перезапустить интерфейс при помощи команд

или перезагрузить Raspberry Pi с помощью

WiFi-соединение можно проверить при помощи команды

. Если по результатам проверки рядом с полем inet addr будет стоять необходимый адрес, то Pi подключится к сети. Если нет, проверьте, правильно ли указаны ESSID и пароль.

Эта статья рассказывает, как настроить связь по WiFi на плате Raspberry Pi. Если вы новичок в использовании Raspberry Pi, то базовые знания о ней можно узнать, к примеру, тут.

Связь по WiFi можно настроить и через GUI (от англ. «graphical user interface», что значит «графический пользовательский интерфейс»), но лучше всего делать это через командную строку.

Доступ к командной строке

Подключите к Raspberry Pi адаптер WiFi, а затем включите ее. Доступ к командной строке можно получить следующими методами:

  • Установить SSH-коммуникацию, запустив SSH-клиент вроде PuTTY (если компьютер и Raspberry Pi подключены друг к другу через Ethernet-соединение)
  • Воспользоваться графическим интерфейсом Raspberry Pi

Putty 1.jpg

Проверка, распознает ли RPi подключенный к ней WiFi-адаптер

Есть несколько способов проверить, распознает ли плата Raspberry Pi подключенный к ней WiFi-адаптер. Во-первых, можно вписать в терминале следующее:

В результате в терминале должны появиться новые данные, среди которых будет и информация о WiFi-адаптере (он должен называться «wlan0»):

Ifconfig 2.jpg

Если WiFi-адаптера не видно, то причина может быть в том, что для него не установлены драйверы (для разных моделей WiFi-адаптеров требуются разные драйверы). Я использую модель TL-WN725N и Raspbian по умолчанию ее не поддерживает. Инструкцию по установке драйверов для своего WiFi-адаптера я нашел здесь.

Если у вас еще нет WiFi-адаптера, я крайне рекомендую модель Edimax EW 7811UN, т.к. на Raspbian уже установлены драйверы для нее, так что времени на их поиски тратить не придется.

Edimax 3.jpg

Открытие файла настроек

Чтобы открыть конфигурационный файл, впишите в терминале следующее:

Wifi config file 4.jpg

Добавление данных о сети

Найдите самую нижнюю часть конфигурационного файла «wpa_supplicant.conf» и впишите туда данные о вашей сети, как показано на картинке ниже. То есть замените «YOUR-SSID» на название WiFi-сети, а «YOUR-SSID-PASSWORD» на пароль к ней.

Wifi config file filled 5.jpg

Проверка соединения

Статус WiFi-соединения можно проверить при помощи команды ifconfig – так вы узнаете, получил ли адаптер «wlan0» IP-адрес). То, к какой сети подключился WiFi-адаптер, можно узнать при помощи команды iwconfig.

Любые Linuxоперационная система на базе может быть настроена как настоящая Wi-Fi роутер в несколько простых шагов. Например, если мы используем Raspberry Pi с помощью операционной системы Raspbian (которая по-прежнему является операционной системой на основе Linux) мы можем настроить ее для использования различных сетевых интерфейсов и создания маршрутизатора WiFi с довольно приличной производительностью, но также мы должны учитывать ограничения его портов. В этом руководстве мы научим вас, как настроить Raspberry Pi или любую операционную систему на базе Linux для работы в качестве маршрутизатора Wi-Fi.

Начальные шаги

Первое, что мы должны сделать, это установить операционную систему на Raspberry Pi. В нашем случае мы использовали последнюю версию Raspbian, хотя можно использовать любую другую систему (хотя команды могут отличаться).

После того, как операционная система установлена ​​на нашей микро SD, мы запускаем ее в первый раз, чтобы завершить ее установку и настройку (например, в случае Raspbian, выполните команду « sudo raspi-config « волшебник ).

После настройки, когда устройство работает и подключено к Интернету через RJ-45, мы обновляем источники программного обеспечения, приложения и систему, набрав:

sudo apt-get update
sudo apt-get upgrade
sudo apt-get dist-upgrade

После установки нашей обновленной системы мы можем продолжить обучение, чтобы настроить Raspberry Pi для работы в качестве маршрутизатора.

Убедитесь, что наша USB-карта Wi-Fi обнаружена и работает в режиме AP

Первое, что мы сделаем, это проверим, обнаруживает ли устройство карту. Для этого набираем:

И он должен появиться там в списке. Как только он появится, мы выполним другую команду, чтобы убедиться, что карта Wi-Fi может работать в режиме AP:

Если в результате, который появляется на экране, мы видим строку: Mode: AP, карта совместима для выполнения этой конфигурации, в противном случае мы должны искать другую карту, набор микросхем которой позволяет ее настроить в качестве точки доступа, или AP.

Установите необходимое программное обеспечение и зависимости

Большая часть необходимого программного обеспечения по умолчанию устанавливается в Raspbian, хотя единственные проблемы, которые могут вызвать у нас проблемы, - это DHCP-сервер и служба создания точки доступа, которую мы можем установить вручную (если она недоступна), набрав:

sudo apt-get install isc-dhcp-server hostapd

На этом этапе мы можем перезапустить нашу Raspberry, чтобы начать настройку.

настройка

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

Настроить DHCP-сервер

Первое, что мы настроим, это DHCP-сервер. Для этого отредактируем следующий файл:

sudo cp /etc/dhcp/dhcpd.conf /etc/dhcp/dhcpd.conf.orig
sudo nano /etc/dhcp/dhcpd.conf

В завершение мы настроим сеть, в которой будет работать DHCP-сервер (в нашем примере это сеть 192.168.2.0). Для этого переходим в конец документа и добавляем:

subnet 192.168.2.0 netmask 255.255.255.0 range 192.168.2.2 192.168.2.30;
option broadcast-address 192.168.2.255;
option routers 192.168.2.1;
default-lease-time 600;
max-lease-time 7200;
option domain-name "local";
option domain-name-servers 8.8.8.8, 8.8.4.4;
>

Сохраняем изменения и закрываем файл.

Мы откроем новый файл конфигурации сервера, набрав:

sudo cp /etc/default/isc-dhcp-server /etc/default/isc-dhcp-server.orig
sudo nano /etc/default/isc-dhcp-server

В этом документе мы посмотрим (в конце) на строку INTERFACES = »» и изменим ее на:

DHCP-сервер уже настроен. Продолжим урок.

Настройте соединение WLAN и Ethernet

Первое, что мы сделаем, это отключим карту Wi-Fi. Для этого набираем:

sudo ifdown wlan0

Далее откроем файл «интерфейсы»:

sudo cp /etc/network/interfaces /etc/network/interfaces.orig
sudo nano /etc/network/interfaces

И настроим его так:

auto lo
iface lo inet loopback
iface eth0 inet dhcp
allow-hotplug wlan0
iface wlan0 inet static
address 192.168.2.1
netmask 255.255.255.0

Закомментируем или удалим остальные строки. Сохраняем изменения и закрываем документ. Чтобы применить изменения в данный момент, мы должны ввести:

sudo ifconfig wlan0 192.168.2.1

Настроить точку доступа

И снова мы отредактируем другой файл, набрав:

sudo cp /etc/hostapd/hostapd.conf /etc/hostapd/hostapd.conf.orig
sudo nano /etc/hostapd/hostapd.conf

И в этом файле удаляем то, что есть (если что-то есть) и вставляем:

Мы можем изменить как SSID на имя, которое мы хотим дать нашей сети, так и канал в канале, и wpa_passphrase с паролем в виде обычного текста, который мы хотим использовать для подключения.

Чтобы завершить настройку, мы открываем новый файл конфигурации, набрав:

sudo cp /etc/default/hostapd /etc/default/hostapd.orig
sudo nano /etc/default/hostapd

Сохраняем и закрываем файл до доработки. Мы почти закончили, осталось лишь несколько незначительных настроек и настроить Raspbian так, чтобы все это запускалось при запуске системы автоматически.

Окончательные настройки

Хотя наша точка доступа-маршрутизатор уже настроена и функционирует, мы не можем подключиться к Интернету через нее, а конфигурации не выполняются автоматически при запуске. Чтобы это сработало, мы должны выполнить последние шаги, перечисленные ниже.

Настроить пересылку пакетов

Чтобы Raspberry Pi перенаправлял пакеты от себя к маршрутизатору, чтобы иметь возможность выходить в Интернет, мы должны настроить следующие элементы:

Открываем и редактируем файл sysctl:

sudo cp /etc/sysctl.conf /etc/sysctl.conf.orig
sudo nano /etc/sysctl.conf

Сохраняем и закрываем документ. Чтобы изменения вступили в силу немедленно, введите:

sudo sysctl -p /etc/sysctl.conf

Включаем NAT, набрав:

sudo iptables -t nat -A POSTROUTING -j MASQUERADE

И сохраняем правила iptables, чтобы изменения сохранялись (мы устанавливаем следующий пакет: sudo apt-get install iptables-persistent и следуем указаниям мастера).

Настроить автозапуск

Чтобы точка доступа и DHCP-сервер запускались автоматически с нашим устройством, мы должны специально указать это и разрешить активацию служб вместе с Raspbian. Для этого в терминале набираем:

sudo update-rc.d hostapd enable
sudo update-rc.d isc-dhcp-server enable

Последняя настройка

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

sudo mv /usr/share/dbus-1/system-services/fi.epitest.hostap.WPASupplicant.service /home/pi

Наш Raspberry Pi уже работает как Wi-Fi роутер

Как только мы достигли этой точки, мы можем перезапустить Raspberry Pi. Когда он перезагружается, он автоматически создает точку доступа, назначает IP-адреса хостам, которые к нему подключаются, и направляет весь трафик с карты Wi-Fi через сетевую карту на маршрутизатор, если мы подключены к одному из них.

Инструкция настройки Raspberry Pi 3b и установки Ubuntu 20.04.

Установка системы на флешку

Подключите флекшу. Узнайте название устройства.

У меня команда выводит следующую информацию:

Запишите образ на флешку. Поставьте в параметр "of" свой диск.

Подключение к raspberrypi

Установите флешку в raspberrypi, включите ее и подключитесь к ней через клавиатуру.

Когда система загрузится, подождите 2 минуты, до тех пор пока инициализируется cloud init. После этого он позволит ввойти в систему под стандартным паролем.

По умолчанию пароль:

ubuntu - логин
ubuntu - пароль

Когда вы первый раз зайдете в систему, она предложит поменять пароль.

После входа в систему и смены пароля, перейдите под рут

Установите часовой пояс

Посмотрите список часовыъ поясов:

Установите часовой пояс:

Настройка локали

Откройте файл /etc/locale.gen и раскоментируйте строки:

Измените hostname

В файле /etc/hostname укажите название распы, например:

Удаление лишних пакетов

Подключение к Wi Fi через WPA Supplicant

Посмотрите название вашего Wi Fi модуля:

Он может называться как wlp3s0 или wlan0.

Измените содержимое файла /root/wifi.sh и укажите в нем название вашего Wi Fi модуля. Вместо mynetwork и passphrase укажите свои данные.

Подключитесь к Wi Fi:

Настройка ssh

Поменяйте стандартный порт ssh в конфиге nano /etc/ssh/sshd_config

Порт, следует изменить на нестандартный. например:

Запретить авторизацию через root по паролю, только через ключ

Также можете указать:

Разрешить авторизацию только определенным пользователям, укажите в самом конце файла:

Сделайте перезапуск сервиса ssh

Пробросьте свои ssh ключи на распу

Сгенереруйте у себя ключи, если они не были сгенерированы:

Выполните копирование ключей:

Создайте ssh конфиг nano

Настройка сети

Выполняйте эти команды, касательно настройки Wi Fi, не через SSH, а через терминал!

Network Manager очень хороший способ управлять сетью. По умолчанию в Ubuntu он отключен, и нужно поставить его вручную.

dnsmasq - это мини ДНС сервер. Он удобен, потому что в нем можно прописывать свои хосты, в том числе и wildcard. Плюс он кэширует ДНС запросы.

resolvconf - управляет файлом /etc/resolv.conf

Создайте Wi Fi подключение через Network Manager

Отключитесь от Wi Fi:

После перезагрузки, зайдите в систему.

Просмотрите список доступных WiFi сетей:

Подключитесь к сети, используя логин и пароль:

Установите метрику по умолчанию:

Можно также указать статический IP адрес:

Настройка Network Manager

Теперь можно подключаться через SSH командой:

ключите сервис Network Dispatcher:

Измените файл /etc/NetworkManager/NetworkManager.conf

Создайте файл /usr/lib/NetworkManager/conf.d/10-globally-managed-devices.conf

Этот файл позволяет указать какие сети будут управляться через Network Manager.

Параметры могут быть следующими:

Более подробнее о командах здесь

Настройка dnsmasq и resolvconf

В /etc/dnsmasq.conf пропишите:

Если вы хотите прописать свои хосты в системе, вы можете использовать файл /etc/hosts или создать новый файл в папке /etc/dnsmasq.d/examle.conf со следующим содержанием:

Данный файл говорит dnsmasq резолвить домен .examle, учитывая wildcard запросы.

Отключение ipv6

Если у вас провайдер не поддерживает ipv6 протокол, то имеет смысл его отключить, чтобы разные программы, такие как apt не пробовали обращаться к серверам по ip6 протоколу, который не работает.

Для этого в файл /etc/sysctl.conf нужно добавить строчки:

Настройка iptables

На вопрос Save current IPv4 rules? и Save current IPv6 rules? ответьте No

При работе с iptables будьте осторожны. Одно неверное движение и доступ к серверу может быть заблокирован.

Обратите на порт SSH. Укажите свой порт, вместо 22050.

Пропишите в /etc/iptables/rules.v4 следующее содержимое:

Обязателен ENTER в конце (перевод на новую строку).

Скопируйте rules.v4 в rules.v6

Установите новые правила iptables

Чтобы добавлять новые правила в iptables, например, тот же nginx нужно редактировать файл. Также вы можете выполнить команды

Они добавят в начало цепочки ALLOW-INPUT два новых правила, но при этом файл не изменят.

Проверьте настройки iptables:

Обязательно проверьте соединение ssh. Попробуйте залогиниться к серверу через отдельный терминал.

Настройка системы

Обновите систему и установите пакеты:

Включите проверку диска

В файле /boot/firmware/cmdline.txt добавьте параметры:

Это позволит запускать проверку диска при старте распы.

Ограничьте размер логов systemd

Пропишите в /etc/systemd/journald.conf строчку:

Это строчка ограничивает максимальный размер логов в 10 гигабайт. Перезагрузите конфигурацию systemd:

Все настройки сетевых интерфейсов в Raspberry в Debian/Ubuntu и основанных на них дистрибутивах, таких как Raspbian, Kali и т.д. производятся в конфигурационном файле /etc/network/interfaces.
Сегодня ознакомимся с базовой настройкой сетевых интерфейсов. Для этого откроем файл /etc/network/interfaces и посмотрим что в нем есть.

Основные параметры

создание loopback интерфейса:

следующая конфигурация говорит об разрешении автоматического запуска интерфейса wlan0 и получение им настроек сети по DHCP:

метод manual говорит, что для интерфейса eth0 нет настроек применяемых по умолчанию. Интерфейс eth0 может далее настраиваться вручную, или сценариями из каталогов /etc/network/if-*.d.

и последний метод настроек static. В нем мы задаем все настройки сети вручную. Некоторые параметры могут быть избыточными.

address — IP-адрес (в примере: 192.168.2.9)
netmask — маска сети (в примере: 255.255.255.0, сеть /24)
network -используемая сеть (в примере: 192.168.2.0)
broadcast — широковещательный адрес (в примере: 192.168.2.255)
gateway — адрес шлюза (в примере: 192.168.2.1)
dns-nameservers — список DNS серверов (в примере: 192.168.2.1 и 8.8.8.8)

Дополнительные параметры

При использовании методов dhcp или static можно задать MAC адрес:

можно указать домен по-умолчанию для поиска:

и при поднятии/выключении интерфейса можно запускать дополнительные произвольные команды:

запустить команду до поднятия интерфейса:

запустить команду после поднятия интерфейса:

запустить команду перед отключением интерфейса:

запустить команду после отключения интерфейса:

Пример запуска команды после поднятия интерфеса с параметрами, назначенными вручную (после запуска интерфейса выполнится скрипт/etc/script.sh):

Проверить свой внешний IP можно командой:

Чем отличается allow-hotplug от auto?
allow-hotplug — применить настройки при обнаружении устройства (устройство запускает кем-либо, а не через демон /etc/init.d/networking, например Wi-Fiкарта, которая может запускаться самостоятельно драйвером);
auto — при поднятии интерфейса.

На этом основная часть настроек Ethernet и IPv4 завершается.

Читайте также: