Un point d'accès wifi avec une seule carte réseau


8

J'essaie d'utiliser ma carte sans fil pour PC comme point d'accès, tout en étant connecté à mon réseau wifi via la même carte, mais j'ai un problème. Ce que j'essaie de réaliser, c'est l'équivalent de la technologie Wi-Fi virtuelle de Windows. En principe, c'est très simple:

service network-manager stop
iw dev wlan0 del
iw phy phy0 interface add new0 type station
service network-manager start
iw phy phy0 interface add new1 type __ap
hostapd -B /etc/hostapd.conf

avec une configuration appropriée pour hostapd:

cat /etc/hostapd/hostapd.conf 
interface=new1
driver=nl80211
logger_syslog=-1
logger_syslog_level=2
logger_stdout=-1
logger_stdout_level=2
ssid=XXXX
country_code=us
hw_mode=g
channel=1
macaddr_acl=0
auth_algs=3
ignore_broadcast_ssid=0
eap_server=0
wpa=2
wpa_passphrase=XXXX
wpa_pairwise=TKIP CCMP
rsn_pairwise=TKIP CCMP

Cependant, le pilote nl80211 refuse de mettre le IF new1 virtuel en mode AP. Voici le bit intéressant: la sortie de la liste iw contient

Supported interface modes:
         * IBSS
         * managed
         * AP
         * AP/VLAN
         * monitor
software interface modes (can always be added):
         * AP/VLAN
         * monitor
valid interface combinations:
         * #{ managed } <= 1, #{ AP } <= 1,
           total <= 2, #channels <= 1, STA/AP BI must match
         * #{ managed } <= 2,
           total <= 2, #channels <= 1

Il est évident que ma carte wifi (un Intel Centrino Advanced-N 6235 [8086: 088e] sous iwlwifi) prend en charge le mode AP (je l'ai testé), et j'avais interprété les "combinaisons d'interfaces valides" comme signifiant que je pourrais avoir au maximum 1 vif géré et 1 AP sur cette carte en même temps. Mais ensuite, j'ai remarqué la contrainte d'apparence mystérieuse, STA / AP BI doit correspondre.

Est-ce que quelqu'un sait ce que cela signifie et si c'est ce qui contrecarre mes tentatives d'utilisation de deux vifs sur ma carte, l'un en station l'autre en mode AP? À votre santé



1
@ imz - IvanZakharyaschev Vous avez tout à fait raison, merci. Mais ma question porte également sur la signification de STA / AP BI doit correspondre, ce qui semble fournir une sorte de contrainte que je n'ai pas encore déchiffré.
MariusMatutiae

Je suis désolé de ne pas avoir pris en compte ce détail. Tu as raison. Mais ce problème particulier n'est pas évident du titre, ce qui m'a fait penser qu'avoir un adaptateur WiFi est le seul problème ici ...
imz - Ivan Zakharyaschev

Réponses:


5

Dans le cas où quelqu'un viendrait ici pour identifier "STA / AP BI doit correspondre":

La source du noyau include/net/cfg80211.h, en particulier struct ieee80211_iface_combination, dit

 * @beacon_int_infra_match: In this combination, the beacon intervals
 *  between infrastructure and AP types must match. This is required
 *  only in special cases.

La BI est donc l' intervalle de balise , et obtenir que cela corresponde ne devrait pas être un gros problème.


6

En fait, la phrase mystérieuse

STA/AP BI must match

semble avoir rien à voir avec ma configuration ne fonctionne pas. Il s'avère plutôt que

 #channels <= 1

était la clé pour le faire fonctionner. J'ai finalement compris que cela signifie que je ne peux utiliser qu'un seul canal lorsque j'ai deux vif sur le même périphérique physique (mon Intel Centrino, en tout cas), l'un en AP, l'autre en mode Station. J'ai donc changé de canal dans le fichier conf de hostapd, à celui auquel j'essayais de me connecter, et je n'ai eu aucun message d'erreur.

À ce stade, j'ai configuré iptables, démarré dnsmasq, puis hostapd au moyen de

echo 1 >/proc/sys/net/ipv4/ip_forward
iptables --table nat --append POSTROUTING --out-interface new0 -j MASQUERADE
iptables --append FORWARD --in-interface new1 -j ACCEPT
dnsmasq 
/usr/local/bin/hostapd /etc/hostapd/hostapd.conf

puis je l'ai eu, une seule carte wifi fonctionnant simultanément comme point d'accès et client à un réseau connecté à Internet.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.