Ich habe das noch nie persönlich gemacht, aber hier sind einige Informationen, um Sie in die richtige Richtung zu bringen.
Aus Protokollsicht ist es definitiv möglich, dass ein einzelnes Funkgerät sowohl als AP als auch als Client-STA fungiert. Es funktioniert am besten (oder ist fast obligatorisch), wenn sich der von Ihnen erstellte AP und der AP, dem Sie als Client beitreten, auf demselben Kanal befinden. Wenn die Funkkarte ständig auf Serviceanfragen umschalten muss, ist dies ein Rezept für verlorene Frames und schreckliche Leistung.
In Bezug auf die Software wird es möglich. Mehrere 802.11-Kartentreiber unter Linux unterstützen das Konzept von VAPs (virtuellen APs), mit denen eine einzelne Karte gleichzeitig als mehrere APs (mehrere SSIDs, sogar BSSIDs) fungieren kann. Unintuitiv bedeutet der Begriff VAP jede Art von virtuellen Schnittstellen auf derselben 802.11-Karte, unabhängig davon, ob sich die virtuelle Schnittstelle im AP-Modus befindet oder nicht. Bei diesen Karten- / Treiberkombinationen können Sie also zwei VAPs erstellen - einen VAP im STA-Modus
Der MadWifi-Treiber für Atheros-basierte Karten unterstützt VAPs. Wenn Ihre 802.11-Karte einen Atheros-Chipsatz verwendet und Sie die richtige Version des MadWifi-Treibers installieren, können Sie Ihre Karte möglicherweise wie folgt für den gleichzeitigen STA + AP-Modus konfigurieren:
wlanconfig ath0 create wlandev wifi0 wlanmode sta
wlanconfig ath1 create wlandev wifi0 wlanmode ap
Beachten Sie, dass dies keine vollständigen Anweisungen zum Einrichten sind, sondern nur ein Versuch, Ihnen den Einstieg zu erleichtern.
Vielleicht möchten Sie Google für etwas wie " wifi vap " für weitere Informationen. Ich habe die obigen Befehle von hier kopiert .
Oh, und einige Mythen: Atheros-Karten sind in Verbrauchermaschinen keine Seltenheit. Sie sind neben Broadcom, Marvell, Intel und Ralink ein wichtiger Akteur bei 802.11-Chipsätzen. Und nur weil ich das Beispiel von MadWifi / Atheros verwendet habe, heißt das nicht, dass es keine Linux-Treiber für die Chips der anderen großen Spieler gibt, die etwas Ähnliches können. Außerdem ist hierfür kein 802.11s erforderlich. Zu sagen, dass Sie 802.11s ausführen müssen, um dies zu tun, ist wie zu sagen, dass Sie das Spanning Tree-Protokoll unterstützen müssen, nur um Frames von einer Schnittstelle an eine andere weiterzuleiten.
Der nl80211-Treiber verfügt über den sogenannten "verwalteten" Schnittstellenmodus. Sie können es mit dem Dienstprogramm "iw" wie folgt konfigurieren:
Weitere Informationen hierzu finden Sie unter https://wireless.wiki.kernel.org/en/users/documentation/iw . Phy0 bezieht sich auf das, was Sie in / sys / class / ieee80211 / sehen.
Ich habe auch gesehen, dass der rPI3 etwas Ähnliches tut, aber mit einem schattigeren "__ap" -Schnittstellenmodus . Auf diese Weise erstellt der Benutzer eine zweite Schnittstelle, die nur im AP-Modus ausgeführt wird, und verwendet die ursprüngliche Schnittstelle als Client-Modus.
Unabhängig davon, wie Sie es erkennen (der Treiber muss es offensichtlich unterstützen), benötigen Sie zwei Schnittstellen (vom selben physischen Gerät). Eine Schnittstelle kann einfach wpa_supplicant als Client-Modus ausführen, die andere (AP-Modus) verwendet normalerweise hostapd, um den Accesspoint abzuspielen.
[BEARBEITEN:]
Der Quellcode des iw-Tools macht den schattigen __ap-Modus deutlich:
Der __ap-Modus wird in einen Netlink-Typ NL80211_IFTYPE_AP übersetzt. Ich habe das auch getestet und das funktioniert gut. Seltsam, dass das Kernel-Dokumentations-Wiki es jedoch nicht erfüllt.
quelle
Quelle und weitere Informationen:
https://wiki.archlinux.org/index.php/Software_access_point
Kurze Antwort
Das Wi-Fi-Gerät muss den AP-Modus unterstützen
Sie benötigen ein nl80211-kompatibles drahtloses Gerät, das den AP-Betriebsmodus unterstützt. Dies kann durch Ausführen des Befehls iw list überprüft werden. Unter dem Block Unterstützte Schnittstellenmodi sollte der AP aufgeführt sein:
Drahtloser Client und Software-AP mit einem einzigen Wi-Fi-Gerät
Das Erstellen eines Software-AP ist unabhängig von Ihrer eigenen Netzwerkverbindung (Ethernet, WLAN, ...). Viele drahtlose Geräte unterstützen sogar den gleichzeitigen Betrieb sowohl als AP als auch als drahtloser "Client" gleichzeitig. Mit dieser Funktion können Sie mit einem einzigen drahtlosen Gerät einen Software-AP erstellen, der als "drahtloser Repeater" für ein vorhandenes Netzwerk fungiert. Die Funktion wird im folgenden Abschnitt in der Ausgabe der iw-Liste aufgeführt:
gültige Schnittstellenkombinationen:
Die Einschränkung #channels <= 1 bedeutet, dass Ihr Software-AP auf demselben Kanal wie Ihre Wi-Fi-Client-Verbindung arbeiten muss. Siehe die Kanaleinstellung in hostapd.conf unten.
Wenn Sie die Funktion verwenden möchten, müssen Sie möglicherweise zwei separate virtuelle Schnittstellen erstellen, um eine Ethernet-Verbindung zu verwenden. Virtuelle Schnittstellen für ein physisches Gerät wlan0 können wie folgt erstellt werden: Die virtuellen Schnittstellen mit eindeutiger MAC-Adresse werden für die Netzwerkverbindung (wlan0_sta) selbst und für die Software AP / hostapd "Wireless Repeater" erstellt:
Aufbau
Das Einrichten eines Zugangspunkts besteht aus zwei Hauptteilen:
Werkzeuge
create_ap
Das Paket create_ap enthält ein Skript, mit dem entweder ein überbrückter oder ein NAT-Zugriffspunkt für die Internetfreigabe erstellt werden kann. Es kombiniert hostapd, dnsmasq und iptables für das gute Funktionieren des Access Points. Die grundlegende Syntax zum Erstellen eines virtuellen NAT-Netzwerks lautet wie folgt:
quelle