Un AP wifi con una sola scheda di rete


8

Sto cercando di utilizzare la mia scheda wireless per PC come AP, mentre sono connesso alla mia rete wifi tramite la stessa scheda, ma ho un problema. Quello che sto cercando di ottenere è l'equivalente della tecnologia Wi-Fi virtuale di Windows. In linea di principio, è molto semplice:

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

con una configurazione adatta per 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

Tuttavia, il driver nl80211 rifiuta di mettere l'IF virtuale1 nuovo in modalità AP. Ecco il bit interessante: l'output dell'iw list contiene

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

È ovvio che la mia scheda wifi (un Intel Centrino Advanced-N 6235 [8086: 088e] sotto iwlwifi) supporta la modalità AP (l'ho testata) e ho interpretato le "combinazioni di interfaccia valide" per significare che avrei potuto avere al massimo 1 vif gestite e 1 AP su questa carta contemporaneamente. Ma poi ho notato il vincolo dall'aspetto misterioso, la BI STA / AP deve corrispondere.

Qualcuno sa cosa significa questo e se questo è ciò che ostacola i miei tentativi di usare due vif sulla mia carta, uno in stazione e l'altro in modalità AP? Saluti



1
@ imz - IvanZakharyaschev Hai ragione, grazie. Ma la mia domanda riguarda anche il significato di BI STA / AP deve corrispondere, il che sembra fornire un tipo di vincolo che non ho ancora decifrato.
MariusMatutiae,

Mi dispiace di non aver preso in considerazione questo dettaglio. Hai ragione. Ma questo particolare problema non è evidente dal titolo, il che mi ha fatto pensare che avere un adattatore WiFi sia l'unico problema qui ...
imz - Ivan Zakharyaschev

Risposte:


5

Nel caso in cui qualcuno venga qui per identificare "La BI STA / AP deve corrispondere":

Il sorgente del kernel include/net/cfg80211.hin particolare struct ieee80211_iface_combinationdice

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

Quindi la BI è l' intervallo di beacon e far corrispondere questo non dovrebbe essere un grosso problema.


6

In realtà, la frase misteriosa

STA/AP BI must match

sembra non avere nulla a che fare con la mia installazione non funziona. Si scopre invece che

 #channels <= 1

è stata la chiave per farlo funzionare. Alla fine ho capito che significa che posso usare solo un canale quando ho due vif sullo stesso dispositivo fisico (il mio Intel Centrino, in ogni caso), uno in AP, l'altro in modalità Stazione. Quindi ho cambiato il canale nel file hostapd conf, allo stesso a cui stavo cercando di connettermi e non avevo messaggi di errore.

A questo punto ho configurato iptables, avviato dnsmasq, quindi hostapd tramite

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

e poi l'ho avuto, una singola scheda wifi che funziona contemporaneamente come punto di accesso e client a una rete connessa a Internet.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.