Вопрос или проблема
Недавно я обнаружил, что 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-адреса подключающимся клиентам.