Вопрос или проблема
Я пытаюсь настроить 2 беспроводные точки доступа с устройства на Linux (Debian Jessy). Обе точки доступа должны работать одновременно и делиться интернет-соединением (как показано ниже).
_____ ___________
| | eth0 | | wlan0(AccessPoint 2.5G)
|box|-----< Eth USB1>WLAN0_Stick <<<<<< Смартфон
|___| | Debian |
| Устройство | wlan1(AccessPoint 5G)
| USB2>WLAN1_Stick <<<<<< ПК/Ноутбук
|___________|
Моя начальная конфигурация (hostapd и dnsmasq) для единственной wlan0 (AccessPoint 2.5G)
/etc/hostapd.conf
# Определить интерфейс
interface=wlan0
# Выбрать драйвер
driver=nl80211
# Установить имя точки доступа
ssid=AP-wifi-2G
# Установить режим работы оборудования точки доступа на 802.11g
hw_mode=g
# Установить WIFI канал (можно легко изменить)
channel=6
# Включить только WPA2 (1 для WPA, 2 для WPA2, 3 для WPA + WPA2)
wpa=2
wpa_passphrase=wifi123456
/etc/dnsmasq.conf
# Привязаться только к одному интерфейсу
bind-interfaces
# Выбрать интерфейс для привязки
interface=wlan0
# Указать диапазон IP-адресов для DHCP аренды
dhcp-range=192.168.150.2,192.168.150.10
Для инициализации AP1 я использую следующий bash-скрипт
start.sh
!/bin/bash
# Старт
# Настроить IP-адрес для WLAN
sudo ifconfig wlan0 192.168.150.1
# Запустить сервер DHCP/DNS
sudo service dnsmasq restart
# Включить маршрутизацию
sudo sysctl net.ipv4.ip_forward=1
# Включить NAT
sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
# Запустить демон точки доступа
sudo hostapd /etc/hostapd.conf
# Остановить
# Отключить NAT
sudo iptables -D POSTROUTING -t nat -o eth0 -j MASQUERADE
# Отключить маршрутизацию
sudo sysctl net.ipv4.ip_forward=0
# Отключить сервер DHCP/DNS
sudo service dnsmasq stop
Эта конфигурация работает отлично для одиночной точки доступа (wlan0
, AccessPoint 2.5G).
Я добавил вторую конфигурацию /etc/hostapd_5G.conf
для wlan1
аналогично /etc/hostapd.conf
и изменил dnsmasq.conf
и start.sh
(wlan0->wlan1 для тестирования) – это тоже хорошо работало на 5G.
Но мне нужно запускать AP wlan0 и AP wlan1 одновременно. Я думаю, что мне нужно изменить dnsmasq.conf
для второго интерфейса. Но я не знаю, как это сделать.
Кто-нибудь, пожалуйста, помогите с одновременной конфигурацией (AP wlan0 и AP wlan1).
Я думаю, вам нужно как-то объединить wlan0
и wlan1
. Вы можете заметить, что OpenWRT делает это. Посмотрите на пакет bridge-utils
.
Добавление этого в /etc/network/interfaces может помочь:
auto wifi0
iface wifi0 inet static
bridge_ports wlan0 wlan1
address 192.168.1.1
netmask 255.255.255.0
Ответ или решение
Для настройки двух одновременно работающих беспроводных точек доступа на устройстве под управлением Linux (в данном случае Debian Jessie) с использованием hostapd
и dnsmasq
, потребуется внести соответствующие изменения в конфигурационные файлы и скрипт запуска. Давайте рассмотрим все шаги подробно.
Шаг 1: Настройка конфигурации hostapd
Создайте отдельный файл конфигурации для второй точки доступа, например, /etc/hostapd_5G.conf
, который будет содержать следующие параметры:
# Определите интерфейс
interface=wlan1
# Выбор драйвера
driver=nl80211
# Задайте имя точки доступа
ssid=AP-wifi-5G
# Установите режим аппаратного обеспечения на 802.11a
hw_mode=a
# Установите WIFI канал (можно легко изменить)
channel=36
# Включите только WPA2
wpa=2
wpa_passphrase=wifi123456
Это позволит вам запускать вторую точку доступа на интерфейсе wlan1
.
Шаг 2: Настройка dnsmasq
Вам необходимо отредактировать конфигурационный файл dnsmasq
(/etc/dnsmasq.conf
) так, чтобы DHCP-сервер выдавал IP-адреса для обеих точек доступа. Добавьте следующую строку:
# Задать диапазоны IP-адресов для DHCP-аренды
dhcp-range=192.168.150.2,192.168.150.10,12h
dhcp-range=192.168.151.2,192.168.151.10,12h
Таким образом, вы выделите два диапазона IP-адресов: один для wlan0
, а другой для wlan1
.
Шаг 3: Изменение скрипта запуска
Обновите ваш скрипт start.sh
, чтобы запускать оба сервера hostapd
и dnsmasq
одновременно. Вот пример, как это может выглядеть:
#!/bin/bash
# Запустить настройки для wlan0
sudo ifconfig wlan0 192.168.150.1
sudo service dnsmasq restart
sudo sysctl -w net.ipv4.ip_forward=1
sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
sudo hostapd /etc/hostapd.conf &
# Запустить настройки для wlan1
sudo ifconfig wlan1 192.168.151.1
sudo service dnsmasq restart
sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
sudo hostapd /etc/hostapd_5G.conf &
wait
Обратите внимание, что мы запустили hostapd
для обеих точек доступа одновременно, используя &
для выполнения в фоновом режиме, и команда wait
для ожидания завершения всех фоновых процессов.
Шаг 4: Проверка конфигурации
После внесения всех изменений важно протестировать новую настройку. Убедитесь, что обе точки доступа работают, а клиенты могут подключаться к ним и получать IP-адреса из соответствующих диапазонов.
Заключение
Следуя приведенным выше инструкциям, вы сможете настроить одновременно работающие точки доступа wlan0
и wlan1
на вашем Debian устройстве. Убедитесь, что конфигурационные файлы и скрипты настроены корректно, и проверьте функциональность вашей сети. Если у вас возникнут трудности, просмотрите логи для получения дополнительной информации о возможных ошибках, используя команду journalctl -xe
или tail -f /var/log/syslog
.