Condivisione di Wi-Fi pubblico


2

Uso un raspberry pi su una barca per registrare vari sensori e anche come hotspot per la condivisione di Internet sulla barca. Ho un adattatore wifi USB con un'antenna esterna montata su un palo. Ho anche un modem 4G, di nuovo con un'antenna esterna, con una connessione Ethernet al Raspberry pi. Sono stato in grado di usare iptables per creare la conversione degli indirizzi di rete per condividere le connessioni wifi descritte sopra sul dispositivo wifi interno del Raspberry Pi 3.

Tuttavia, su alcuni hotspot Wi-Fi pubblici il dispositivo wifi USB continua a disconnettersi. La mia ricerca ha dimostrato che l'AP wifi pubblico probabilmente sta esaminando l'indirizzo MAC dei dispositivi connessi al mio hotspot locale e visto che non corrisponde all'indirizzo MAC del dispositivo USB a cui è autenticato, e quindi de-autentica l'USB dispositivo.

Capisco che sia possibile utilizzare la modalità WDS o la modalità indirizzo 4 se avessi il controllo sull'AP pubblico che ha la connessione wifi, ma chiaramente non è possibile.

Ho esplorato l'uso di ebtables, ma non è possibile collegare un dispositivo wifi STA a un bridge virtuale a meno che non stia utilizzando la modalità 4 indirizzi.

Sono sicuro che deve essere possibile emulare ciò che è descritto nelle istruzioni di un estensore wifi TP link:

"Quando Range Extender funziona in modalità universale:

In questa modalità, Range Extender sostituirà tutti gli indirizzi MAC dei propri client con il proprio indirizzo MAC di RE "

Non riesco a trovare nulla che descriva come ottenerlo con una distribuzione Linux.

Se qualcuno sa come potrei ottenere ciò che è descritto sopra dalla Modalità Universale, ne sarei grato.

In alternativa, se esiste un modo per autenticare ciascun client sul mio hotspot locale sull'AP pubblico pubblico?


1
La tua domanda sembra mancare un dettaglio cruciale: come esattamente un altro Anche la rete WiFi entra in gioco? Hai appena descritto una configurazione di base del router NAT per condividere la tua rete 4G. Come ti connetti a un hotspot? Perché non usare solo NAT?
Daniel B

Il dispositivo wifi esterno USB (wlan0) del braccio, in modalità gestita, si connette all'hotspot pubblico esterno. Il wifi interno del braccio è in modalità principale (wlan1) come hotspot. I dispositivi di bordo si connettono all'hotspot del braccio in quanto non sono in grado di vedere l'hotspot pubblico a causa della mancanza di potenza del segnale. Io uso NAT, tuttavia, con NAT l'AP pubblico, vede il dispositivo che è connesso all'AP wlan1 ha un indirizzo mac diverso da quello che è stato autenticato (wlan0) quindi ritengo che de-autentica wlan0.
Paul Fleming

Risposte:


2

Non puoi (in modo affidabile) utilizzare una modalità ponte con AP che non controlli. L'utilizzo della modalità ripetitore (essenzialmente NAT 1: 1 degli indirizzi MAC) richiederebbe sforzi non banali. Significherebbe anche che dovresti effettuare il login separatamente su ciascun dispositivo.

Invece, quello che vuoi è NAT. La soluzione più semplice è usare solo qualcosa del genere:

iptables -t nat -A POSTROUTING -o wlan0 -j MASQUERADE

Inoltre, dovrai assicurarti che la tua rete interna utilizzi una sottorete IP diversa per non causare conflitti.

Con NAT, hai diversi segmenti di rete. L'hotspot non saprà mai dei dispositivi che si nascondono dietro il tuo RasPi. Non vedrà alcun indirizzo MAC ma wlan0. Dovrai solo accedere una volta per connessione.


Sto già usando NAT - e spesso funziona in modo impeccabile, ma in un altro porto con un AP pubblico diverso (nessuna chiave), fallisce. Capisco perché 802.11 utilizza normalmente un frame di 3 indirizzi, il che significa che la stazione sorgente mac trasporta fino al punto di accesso finale, dandogli così l'opportunità di controllare l'indirizzo di origine e se non corrisponde alla stazione effettivamente autenticata ha l'opportunità di rifiutare quei frame e / o la connessione. Ho solo pensato a Linux che ci potrebbe essere un modo per aggirare questo.
Paul Fleming

No questo è sbagliato. Un wireless stazione invia frame solo per se stesso. esso non può inviare frame per conto di altri host. Il terzo indirizzo è l'obiettivo dietro il punto di accesso . Diversi segmenti di rete indicano che gli indirizzi MAC non viaggiano. Semplice come quella.
Daniel B

Grazie - con queste informazioni sono stato in grado di determinare che il mio problema era intorno alla potenza insufficiente per l'adattatore wifi in cui un AP era vicino all'adattatore wlan1 l'adattatore non aveva la stessa potenza di quando un AP era più lontano. Una volta ho usato un hub USB alimentato - problema risolto.
Paul Fleming

Ah sì, la lunghezza massima possibile di un cavo USB è di 5 metri. Tuttavia, questo potrebbe essere già troppo per dispositivi ad alta corrente come le radio.
Daniel B
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.