Определите настройки конфигурации hostapd в netplan.

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

Недавно я обнаружил, что netplan может управлять точками доступа hostapd, но это всё, что есть в примере конфигурации:

    wlp1s0:
      access-points:
        "guest":
           mode: ap
           # отсутствие конфигурации WPA означает, что по умолчанию будет открыт доступ

Я не нашел других документов о том, как задать другие настройки, такие как безопасность WPA и пароль. Мне нужно определить следующие настройки hostapd.conf и в будущем EAP:

interface=wlo1
bridge=br0
hw_mode=g
channel=0
ieee80211d=1
country_code=AE
ieee80211n=1
wmm_enabled=1

ssid=SSID
auth_algs=1
wpa=2
wpa_key_mgmt=WPA-PSK 
rsn_pairwise=CCMP
wpa_passphrase=*********

Я знаю, что netplan требует NetworkManager для конфигурации точки доступа, и я не знаю, помешает ли управление мостом через networkd созданию моста. Если возможно, пожалуйста, уточните этот момент.

Согласно странице man, AP поддерживается только с рендерером NetworkManager. Вам нужно добавить строку в netplan, которая указывает использовать NetworkManager для конфигурации этого устройства, а затем настроить его там.

wlp1s0:
  access-points:
    "guest":
       mode: ap
       renderer: NetworkManager

Вы можете запустить его вручную в скрипте запуска.

  • В /etc/crontab добавьте:

    @reboot root /root/startup &
    
  • В /root/startup добавьте:

    ip addr add 192.168.1.1/24 dev wlp2s0
    hostapd -Bi wlp2s0 /etc/hostapd/hostapd.conf
    
  • И в /etc/dhcp/dhcpd.conf добавьте:

    subnet 192.168.1.0 netmask 255.255.255.0 {
      range 192.168.1.10 192.168.1.100;
      option routers 192.168.1.1;
      option domain-name-servers 192.168.1.1;
      authoritative;
    }
    

В качестве альтернативы, вы можете настроить статический IP на клиенте.

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

Для того чтобы настроить hostapd через netplan и обеспечить WPA безопасность для вашей беспроводной точки доступа, следуйте представленной ниже инструкции. Мы будем использовать NetworkManager в сочетании с netplan, поскольку это необходимое условие для конфигурации точек доступа.

1. Настройка netplan

Создайте или измените существующий файл конфигурации netplan, который обычно находится в /etc/netplan/. Например, создадим файл 01-netcfg.yaml с следующими настройками:

network:
  version: 2
  renderer: NetworkManager
  wlp1s0:
    access-points:
      "SSID":  # Замените SSID на нужное имя вашей сети
        mode: ap
        security: 
          key-mgmt: wpa-psk
          wpa: 2
          wpa-passphrase: "ваш_пароль"  # Замените "ваш_пароль" на ваш пароль
    dhcp4: no
    addresses:
      - 192.168.1.1/24  # Ваш статический IP-адрес
    gateway4: 192.168.1.1
    nameservers:
      addresses: [8.8.8.8, 8.8.4.4]  # DNS сервера

Обязательно замените "SSID" и "ваш_пароль" на ваши значения.

2. Дополнительные настройки hostapd

Чтобы добавить дополнительные параметры, такие как hw_mode, channel, country_code, и другие параметры, вам нужно будет создать файл конфигурации hostapd.conf.

Создайте файл /etc/hostapd/hostapd.conf со следующим содержимым:

interface=wlp1s0
bridge=br0
hw_mode=g
channel=6  # Укажите нужный канал (1-13)
ieee80211d=1
country_code=AE  # Укажите код вашей страны
ieee80211n=1
wmm_enabled=1
ssid=SSID  # Замените SSID на нужное имя вашей сети
auth_algs=1
wpa=2
wpa_key_mgmt=WPA-PSK
rsn_pairwise=CCMP
wpa_passphrase=ваш_пароль

3. Управление мостом

Если вы хотите использовать мост (bridge), вы можете столкнуться с тем, что NetworkManager и networkd могут конфликтовать, если оба пытаются управлять одним и тем же интерфейсом. Убедитесь, что вы указали, что интерфейс wlp1s0 будет управляем только через NetworkManager в конфигурации netplan.

4. Перезапуск Netplan

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

sudo netplan apply

5. Устойчивость после перезагрузки

Чтобы hostapd автоматически запускался при загрузке системы, вы можете создать сервис. Создайте файл сервиса в /etc/systemd/system/hostapd.service:

[Unit]
Description=Hostapd Service
After=network.target

[Service]
Type=simple
ExecStart=/usr/sbin/hostapd /etc/hostapd/hostapd.conf
Restart=always

[Install]
WantedBy=multi-user.target

6. Активация сервиса

Запустите и активируйте сервис:

sudo systemctl enable hostapd
sudo systemctl start hostapd

Теперь hostapd будет запускаться автоматически при загрузке системы.

Заключение

Ваша беспроводная точка доступа теперь настроена с использованием netplan и hostapd. Убедитесь, что настройки завершены корректно, и перезагрузите устройство, если это необходимо. Вы также можете дополнительно настроить DHCP-сервер, чтобы выдать IP-адреса подключающимся клиентам.

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

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