Как использовать один беспроводной адаптер для точки доступа и клиента на Raspberry Pi?

8683
Gabe

Мне удалось создать точку беспроводного доступа на моем Raspberry Pi с помощью USB-ключа Wi-Fi с помощью hostapd на wlan0. То, что я хотел бы сделать, это иметь точку доступа на каком-либо виртуальном интерфейсе (например, wlan0: 1) или vlan (wlan0.123) и иметь wlan0 для подключения к существующей точке доступа.

Таким образом, я могу подключиться к устройству через предоставленную им точку доступа или через сеть, к которой оно могло подключиться.

Конечная цель такова: я могу подключиться к устройству, используя предоставленную им точку доступа. Затем он выполнит сканирование найденных беспроводных точек доступа, спросит, к какой из них я хотел бы подключиться, и затем попытается подключиться к нему. Затем он может сказать мне IP-адрес, который он смог установить в этом новом соединении, или сказать, что ему не удалось подключиться (потому что я все еще буду подключаться через точку доступа, которую он предоставляет).

Если есть какой-то другой способ сделать это (без двух физических адаптеров Wi-Fi), я весь слух.

Пока что я делаю шаги, чтобы заставить AP работать на интерфейсе VLAN. Это не работает… AP видна, но кажется, что сервер DHCP не выдает IP-адрес.

Вот содержимое / etc / network / interfaces:

auto lo auto wlan0 wlan0.10 auto eth0  iface lo inet loopback iface eth0 inet dhcp  allow-hotplug wlan0  iface wlan0.10 inet static address 192.168.50.1 netmask 255.255.255.0 network 192.168.50.0 broadcast 192.168.50.255 gateway 192.168.50.1 vlan_raw_device wlan0  iface wlan0 inet manual 

Вот содержимое hostapd.conf:

interface=wlan0 driver=rtl871xdrv country_code=NZ ctrl_interface=wlan0.10 ctrl_interface_group=0 ssid=RPiAP hw_mode=g channel=1 wpa=3 wpa_passphrase=PASSWORD wpa_key_mgmt=WPA-PSK wpa_pairwise=TKIP rsn_pairwise=CCMP beacon_int=100 auth_algs=3 macaddr_acl=0 wmm_enabled=1 eap_reauth_period=360000000 

Обратите внимание, что выше я должен был сказать, что интерфейс wlan0. Кажется, hostapd не нравится, если я поставлю wlan0.10.

Наконец, вот моя конфигурация dhcp (isc-dhcp-server):

shared-network VLAN10 { subnet 192.168.50.0 netmask 255.255.255.0 { range 192.168.50.10 192.168.50.250; option broadcast-address 192.168.50.255; option routers 192.168.50.1; default routers 192.168.50.1; default-lease-time 600; max-lease-time 7200; option domain-name "local"; } } 

Похоже, что AP / dhcp не нравится находиться в сети VLAN, так как мой телефон застревает на «Получение IP-адреса из RPiAP ...». Или, может быть, я должен сделать некоторые правила iptables для удаления тегов?

4
Я не пытаюсь соединить их, но у меня есть два способа доступа к устройству. Один через точку доступа, которую он предоставляет. Другой через локальную сеть, к которой он подключается. Gabe 10 лет назад 0
Вы можете проверить журналы, чтобы увидеть, получает ли сервер DHCP какие-либо запросы? Lawrence 10 лет назад 0
Как я знаю, невозможно работать AP и станция одновременно на одном физическом интерфейсе WLAN. Mikhail Moskalev 10 лет назад 0
@ mmv-ru Это не правда. Существует множество устройств, которые могут одновременно выполнять оба действия. Обязательное предупреждение: поскольку режим AP требует фиксированного канала, интерфейс клиента будет ограничен этим каналом. Daniel B 9 лет назад 1

2 ответа на вопрос

1
dirkt

Использование одного устройства WLAN в качестве точек доступа (AP) и клиента (станции, STA) возможно только в том случае, если устройство поддерживает его. Вы можете использовать iw phyили, iw listчтобы узнать, если ваше устройство делает; есть строка, valid interface combinationsкоторая описывает, какие комбинации возможны (включая другой режим). Подробности, например, здесь .

Если ваше устройство поддерживает это, вы можете добавить новые виртуальные интерфейсы с чем-то вроде

iw phy phy0 interface add wlan0_ap type ap 

(при необходимости измените, другой тип staдля клиента / станции).

Затем вы можете работать hostapdна одном интерфейсе и нормально использовать другой интерфейс.

0
Albert

Сервер hostap и dhcp работает нормально, но время вашего мобильного телефона и Raspberry Pi не синхронизируется. Попробуйте поставить одновременно оба устройства.

Похожие вопросы