Ubuntu Server 22.04 Как создать точку доступа WiFi?

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

Как именно можно научиться создавать WiFi AP с помощью Ubuntu Server 22.04? Найдите эти ключевые слова в Google, и вы найдете противоречивые и устаревшие инструкции для более старых версий Ubuntu Server.

Я пытался использовать несколько страниц “как сделать”, но ничего не работает.

Надеюсь, это поможет:

Вот что я сделал, чтобы создать беспроводной хотспот на Raspberry Pi 3 Model B+. Эта конфигурация не предоставляет IP-адреса, поэтому вам нужен DHCP-сервер где-то в вашей сети для ее работы. Это специфично для IPV4, и Pi имеет статический адрес в сети. У меня также настроен локальный DNS-сервер в другой части моей сети, который предоставляет информацию о локальном частном домене, вот почему у меня есть запись поискового домена в Netplan [yourlocaldomain.lan]. Если у вас этого нет, то эта запись вам не нужна, но все равно нужно добавить запись для DNS-сервера.

Конфигурация WiFi настроена для использования в Австралии, поэтому вам нужно будет отредактировать это для другой страны. Все записи ниже, которые начинаются с “your”… вы должны ввести данные, соответствующие вашей сети. Например, yourStaticAddressofPi может стать 192.168.3.50, например. yournetmask в этом случае будет 24.

Я установил с изображением ubuntu-22.04-preinstalled-server-arm64+raspi.img.xz. Затем применил все текущие обновления, т.е. sudo apt update, sudo apt upgrade, sudo reboot.

Затем я установил hostapd и wpa_supplicant. (sudo apt install hostapd, sudo apt install wpa_supplicant, sudo reboot). Конфигурация Hostapd (находится по адресу /etc/hostapd/hostapd.conf):

ctrl_interface=/var/run/hostapd
###############################
# Основная конфигурация
###############################
macaddr_acl=0
auth_algs=1
country_code=AU
require_ht=0
#ht_capab= [HT40+] [HT40-] [SHORT-GI-40] [RX-STBC1]
#ieee80211d=1
#ieee80211n=1
wmm_enabled=1

# Большинство современных беспроводных драйверов в ядре требуют driver=nl80211
driver=nl80211
##########################
# Локальная конфигурация...
##########################
interface=wlan0
bridge=br0
hw_mode=g
channel=1
ssid=yourssid
ignore_broadcast_ssid=0
wpa=3
wpa_passphrase=yourpassphrase
wpa_key_mgmt=WPA-PSK
wpa_pairwise=TKIP
rsn_pairwise=CCMP

Конфигурация netplan (/etc/netplan/50-cloud-init.yaml) выглядит следующим образом:

#постоянная конфигурация
network:
    version: 2
    ethernets:
       eth0:
          dhcp4: false
          dhcp6: false
       wlan0:
          dhcp4: false
          dhcp6: false
    bridges:     
        br0:
          interfaces: [eth0,wlan0]
          addresses: [yourStaticAddressofPi/yournetmask]
          routes:
            - to: default
              via: yourdefaultgatewayaddress
          mtu: 1500
          nameservers:
            search: [yourlocaldomain.lan]
            addresses: [yourIP4addressforDNSserver]
          dhcp4: no
          dhcp6: no

Затем я также отредактировал sysctl.conf (/etc/sysctl.conf): Убедитесь, что net.ipv4.ip_forward=1 не закомментирована. Это включает маршрутизацию пакетов IPV4 между сетевыми адаптерами. Затем добавил следующие строки:

#Полностью отключить IP6
net.ipv6.conf.all.disable_ipv6=1
net.ipv6.conf.default.disable_ipv6=1
net.ipv6.conf.eth0.disable_ipv6=1

После того, как вы внесли все эти изменения и перезагрузили, Pi должен быть доступен по статическому адресу, а WiFi должен быть доступен для подключения. Обратите внимание: Pi 3 Model B+ требует некоторое время для запуска всех служб (по крайней мере, пару минут), поэтому вам нужно набраться терпения.

Ответ или решение

Создание WiFi-точки доступа на Ubuntu Server 22.04

В данной статье мы подробно разберем, как настроить WiFi-точку доступа на Ubuntu Server 22.04, основываясь на комплектации Raspberry Pi 3 Model B+. Будут рассмотрены необходимые установки, настройки сетевых интерфейсов и общее конфигурирование.

Шаг 1: Подготовка системы

Первым делом, убедитесь, что вы используете последнюю версию Ubuntu Server 22.04. Для этого можно выполнить команду:

sudo apt update && sudo apt upgrade

После обновления системы перезагрузите устройство:

sudo reboot

Шаг 2: Установка необходимых пакетов

Для создания WiFi-точки доступа вам понадобятся пакеты hostapd и wpa_supplicant. Установите их следующими командами:

sudo apt install hostapd
sudo apt install wpa_supplicant

После установки пакетов перезагрузите систему:

sudo reboot

Шаг 3: Настройка hostapd

Теперь необходимо настроить hostapd, чтобы он мог создавать точку доступа WiFi. Откройте файл конфигурации:

sudo nano /etc/hostapd/hostapd.conf

В папке конфигурации добавьте следующее содержимое:

ctrl_interface=/var/run/hostapd
###############################
# Basic Config
###############################
macaddr_acl=0
auth_algs=1
country_code=AU  # Измените на вашу страну
require_ht=0
wmm_enabled=1
driver=nl80211
##########################
# Local configuration...
##########################
interface=wlan0
bridge=br0
hw_mode=g
channel=1
ssid=yourssid  # Замените на ваше имя сети
ignore_broadcast_ssid=0
wpa=3
wpa_passphrase=yourpassphrase  # Замените на ваш пароль
wpa_key_mgmt=WPA-PSK
wpa_pairwise=TKIP
rsn_pairwise=CCMP

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

Шаг 4: Настройка сетевого интерфейса с netplan

Настройте сетевой интерфейс, используя netplan. Откройте файл /etc/netplan/50-cloud-init.yaml:

sudo nano /etc/netplan/50-cloud-init.yaml

Стандартная конфигурация может выглядеть следующим образом:

#persistent config
network:
    version: 2
    ethernets:
       eth0:
          dhcp4: false
          dhcp6: false
       wlan0:
          dhcp4: false
          dhcp6: false
    bridges:     
        br0:
          interfaces: [eth0, wlan0]
          addresses: [yourStaticAddressofPi/yournetmask]  # Укажите статический IP
          routes:
            - to: default
              via: yourdefaultgatewayaddress  # Укажите ваш шлюз
          mtu: 1500
          nameservers:
            search: [yourlocaldomain.lan]  # Укажите ваше локальное доменное имя
            addresses: [yourIP4addressforDNSserver]  # Укажите IP вашего DNS-сервера
          dhcp4: no
          dhcp6: no

Не забудьте заменить все параметры на соответствующие вашей сети.

Шаг 5: Включение маршрутизации

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

sudo nano /etc/sysctl.conf

Удалите комментарий перед строкой:

net.ipv4.ip_forward=1

Добавьте также следующие строки, чтобы отключить IPv6:

#Disable IP6 entirely
net.ipv6.conf.all.disable_ipv6=1
net.ipv6.conf.default.disable_ipv6=1
net.ipv6.conf.eth0.disable_ipv6=1

Сохраните изменения и закройте редактор.

Шаг 6: Применение изменений

Примените все изменения с помощью команды:

sudo netplan apply

Затем перезагрузите систему:

sudo reboot

Заключение

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

Если у вас возникли трудности или есть вопросы, не стесняйтесь обращаться за помощью к сообществу или на специализированные форумы. Удачи в настройке WiFi-точки доступа на Ubuntu Server 22.04!

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

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