Come si crea un hotspot WiFi che condivide la connessione Internet wireless (adattatore singolo)?

89

So come creare un hotspot quando si è connessi a una rete cablata, ma quando utilizzo Internet da una connessione WiFi, questo disconnette la connessione wireless non appena attivo l'hotspot.

In Windows posso usare Connectify Hotspot , che mi consente di condividere la connessione Internet dallo stesso adattatore wireless di cui sono creando un punto di accesso su. Come puoi leggere nella pagina panoramica della tecnologia :

% Bl0ck_qu0te%

Come faccio questo su Ubuntu?

    
posta Ruppesh Nalwaya 11.07.2013 - 17:39

8 risposte

56

Semplici passi: Crea hotspot Wi-Fi in ubuntu

  1. Disattiva Wi-Fi (deseleziona Abilita Wi-Fi)
  2. Vai alla connessione di rete (Modifica connessioni ...)
  3. Fai clic su "Aggiungi"
  4. Scegli "Wi-Fi" e fai clic su "Crea"
  5. Digita il nome della connessione come "wifi-hotspot"
  6. Inserisci il SSID come desideri
  7. Scegli Indirizzo MAC dispositivo dal menu a discesa (wlan0)
  8. Wifi Security seleziona "WPA & amp; WPA2 Personal" e imposta una password .
  9. Vai alla scheda Impostazioni IPv4, dalla casella a discesa Metodo seleziona Condivisa su altri computer.
  10. Quindi salva e chiudi.
  11. Apri Terminale (Ctrl + Alt + T) e digita il seguente comando con il nome della tua connessione usato nel passaggio 5.

    sudo gedit /etc/NetworkManager/system-connections/wifi-hotspot
    
  12. Trova mode=infrastructure e cambialo in mode=ap

  13. Ora controlla la sezione di rete in cui il Wi-Fi sarà collegato automaticamente all'hotspot creato. Se non riesci a trovarlo, vai a Connetti a rete nascosta ... trova la connessione e connettici ad essa.

Fonte: link

    
risposta data Purushoth 14.04.2015 - 16:31
41

Dopo aver visto questo link offerto vasishath , sono riuscito a impostare un hotspot wireless per condividere la connessione Internet dallo stesso dispositivo di interfaccia wireless. Questo dispositivo wireless deve utilizzare un driver Atheros già compilato con il supporto nl80211 . Successivamente ti mostrerò come.

Rileva se il tuo dispositivo wireless funziona con questo metodo

Esegui il seguente comando nel terminale :

lsmod | grep ath

Se l'output è nullo o se la stringa cfg80211 non è nell'output, non ha senso continuare e dovresti prestare attenzione al secondo e al terzo punto da questa risposta .

Strumenti necessari

Verifica se sono installati tutti i seguenti pacchetti: iw , hostapd , iptables , udhcpd , udhcpc , macchanger .

Puoi installarli con

sudo apt-get install iw hostapd iptables udhcpd udhcpc macchanger

Modifica alcuni file

Esegui il seguente comando nel terminale per modificare i file corrispondenti:

sudo -H gedit /etc/hostapd.conf /etc/udhcpd.conf /etc/default/udhcpd /etc/wpa_supplicant.conf
  • In hostapd.conf file aggiungi il seguente codice:

    interface=new1
    driver=nl80211
    ssid=my_wifi_hotspot      #Change the ssid name as you wish
    channel=11                #I sugest you to use the same channel as your wireless network
    hw_mode=g
    wme_enabled=1
    macaddr_acl=0
    auth_algs=1
    ignore_broadcast_ssid=0
    wpa=3
    wpa_passphrase=1234567890 #Change the passphrase as you wish
    wpa_key_mgmt=WPA-PSK
    wpa_pairwise=TKIP
    rsn_pairwise=CCMP
    
  • In udhcpd.conf file commenta tutte le righe correnti (aggiungendo un carattere # davanti alla riga) e aggiungi le seguenti nuove righe:

    start 192.168.0.102         #These IPs must to be in the same subset as your current default route
    end 192.168.0.117 
    interface new1 
    
    opt dns 192.168.0.1         #Your current default route (Gateway)
    option subnet 255.255.255.0
    opt router 192.168.0.101    #This IP must to be in the same subset as your current default route
    option  domain  localhost
    
  • In / etc / default / udhcp, commenta la riga che dice DHCPD_ENABLED="no" .

  • In wpa_supplicant.conf devi fornire le impostazioni della tua attuale rete wireless. Vedere man wpa_supplicant per alcuni esempi rapidi. E probabilmente hai più esempi in /usr/share/doc/wpa_supplicant/ directory. Ho usato qualcosa del tipo:

    ctrl_interface=/var/run/wpa_supplicant
    network={
      ssid="my_wifi_network"
      key_mgmt=WPA-PSK
      proto=WPA
      pairwise=CCMP
      group=CCMP
      psk="mypassphrase"
    }
    
  • Salva tutti i file e chiudili.

% Bl0ck_qu0te%

Crea uno script di shell

  • In una corsa terminale mkdir -p bin - questo comando creerà una cartella bin nella tua cartella home se non la hai già.
  • Dopo l'esecuzione di gedit ~/bin/hotspotsetup.sh - questo creerà il nuovo file change_sources.sh in gedit.
  • Copia e incolla il seguente script nel nuovo file creato:
#!/bin/bash

service network-manager stop
sleep 1

pkill -15 nm-applet
sleep 1

ifconfig wlan0 down             #wlan0 - the name of your wireless adapter
sleep 1

iw phy phy0 interface add new0 type station
iw phy phy0 interface add new1 type __ap
sleep 2

ifconfig new0 down
macchanger --mac 00:11:22:33:44:55 new0
ifconfig new1 down
macchanger --mac 00:11:22:33:44:66 new1
ifconfig new0 up
ifconfig new1 up

ifconfig new1 192.168.0.101 up  #192.168.0.101 - the same IP defined for router in 'udhcpd.conf' file 
hostapd /etc/hostapd.conf &
sleep 2

service udhcpd start

wpa_supplicant -inew0 -c/etc/wpa_supplicant.conf &
sleep 10

udhcpc -i new0

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
  • Salva il file e chiudilo.
  • Torna al terminale ed esegui: chmod +x ~/bin/hotspotsetup.sh - per garantire l'accesso all'esecuzione per lo script.

Avvia l'hotspot wireless connesso a una rete wireless dalla stessa scheda wireless

Esegui lo script sopra nel terminale con i privilegi di root:

sudo ~/bin/hotspotsetup.sh

Prova

%Bl0ck_qu0te%

Fonte: Connectify per Linux con interfaccia wireless singola .

    
risposta data Radu Rădeanu 26.07.2013 - 11:11
5

Questo è stato aggiunto come un'altra risposta perché l'altra risposta ha creato così tante polemiche.

Soprattutto, è necessario conoscere il nome del nostro adattatore wireless. Usa il comando seguente per ottenerlo:

iwconfig

Probabilmente sarebbe wlan0 o wlan1.

Ci sono casi in cui usiamo il vecchio adattatore WiFi e vogliamo conoscere il driver che usa. Possiamo usare i seguenti comandi in base al tipo che è USB o PCI.

lsusb
lspci

Usa il comando seguente per vedere quale driver usi attualmente:

lsmod

È necessario installare un programma. Basta premere Ctrl + Alt + T sulla tastiera per aprire Terminal. Quando si apre, esegui i comandi seguenti:

sudo apt-get install hostapd

Apri il file di configurazione dell'adattatore di rete principale con questo comando:

sudo gedit /etc/hostapd/hostapd.conf

E modificalo in questo modo:

interface=wlan0
driver=nl80211
country_code=US
ssid=mySSID
hw_mode=g
channel=1
wpa=2
wpa_passphrase=MyWiFiPassword
wpa_key_mgmt=WPA-PSK
wpa_pairwise=TKIP
rsn_pairwise=CCMP
auth_algs=1
macaddr_acl=0

La prima riga dovrebbe essere il nome della scheda di rete. La seconda linea non dovrebbe essere cambiata nella maggior parte dei casi, a meno che tu non fossi fortunato e tu abbia bisogno di un driver di terze parti. La 3a linea non richiede spiegazioni. La quarta riga dovrebbe essere il nome del punto di accesso WiFi (SSID). La quinta riga identifica la tua rete come una modalità / b / g / n. La prossima linea è il tuo canale di rete. Le restanti linee impostano sicurezza e crittografia. Nella maggior parte dei casi, è sufficiente modificare la pass phrase.

Apri il secondo file di configurazione con questo comando:

sudo gedit /etc/default/hostapd

E modificalo in questo modo:

DAEMON_CONF="/etc/hostapd/hostapd.conf"
RUN_DAEMON="yes"
DAEMON_OPTS="-dd"

La prima riga punta al file di configurazione dell'adattatore di rete principale. 2nd line dice a hostapd di funzionare in modalità DAEMON in background all'avvio. L'ultima riga dice a hostapd di registrare ogni messaggio. Il trucco importante qui è che se ti piace usare due adattatori di rete wireless diversi per configurare un punto di accesso Dual Band, dovresti creare per separare i file di configurazione originali (1 ° file) per ogni ard e modificarlo in questo modo:

DAEMON_CONF="/etc/hostapd/hostapd.conf /etc/hostapd/hostapd2.conf"

Le configurazioni sono terminate.

Esecuzione di DAEMON

Ora devi assicurarti che l'avvio di DAEMON di hostapd all'avvio (primo comando sotto), dovresti anche eseguirlo ora per evitare un riavvio obbligatorio.

sudo update-rc.d hostapd defaults
sudo /etc/init.d/hostapd start

Ed è finito. Ora possiamo connetterci al nostro nuovo punto di accesso.

Fonti: Hostapd: il modo Linux per creare un punto di accesso WiFi virtuale & amp; Pagina di documentazione di Hostapd Linux

    
risposta data Mitch 27.07.2013 - 22:20
5

Come puoi vedere nei commenti a questa risposta, c'è un modo per farlo. È documentato per FreeBSD (che non è Ubuntu / Linux) qui: link (link dal commento). Non sembra funzionare esattamente allo stesso modo su Linux, ma dovrebbe essere simile. Purtroppo non sono riuscito a trovare informazioni più dettagliate su questo argomento.

Il modo probabilmente più semplice e più comune è utilizzare due interfacce di rete fisiche. Quindi puoi comprare un'altra chiavetta wifi o semplicemente usare un'altra tecnologia per connetterti ulteriormente e fare solo uno di loro tramite Wifi. Le possibilità sono ad esempio:

  • Bluetooth + Wifi
  • LAN / Ethernet + Wifi
  • 3G / LTE + Wifi
  • Wifi (esterno) + WiFi (integrato o esterno)

Una volta ho notato che Ubuntu Linux è in grado di gestire due dispositivi wifi contemporaneamente senza essere complicato. Non ho provato questo in modi di condividere la connessione internet, ecc, ma dovrebbe essere possibile. Il modo in cui sarà complicato dipende probabilmente dal tipo di connessioni utilizzate. Su Linux probabilmente non hai bisogno di software speciali. Dovrebbe essere possibile condividere connessioni senza la necessità di strumenti speciali. Purtroppo non posso provarlo in questo momento.

Ti consiglio di provare Wifi Wifi se hai comunque un'altra chiavetta wifi o LAN o Bluetooth (che è integrata nella maggior parte dei notebook). La condivisione 3G / LTE è un po 'brutta a causa dei fornitori di dataplan e così via.

    
risposta data verpfeilt 11.07.2013 - 18:10
2

Il modo migliore che ho trovato per creare CONNECTIFY EXPERIENCE è utilizzare AP-HOTSPOT!
(WPA2..not wep come linux di default in ubuntu)

sudo add-apt-repository ppa:nilarimogard/webupd8

sudo apt-get update

sudo apt-get install ap-hotspot

Per eseguire e opzioni

Start: % Co_de%

Arresto: % Co_de%

Configura: % Co_de%

Desideri una Interfaccia utente grafica ?

Per installarlo apri un terminale, quindi vai a:

sudo ap-hotspot start

Quindi esegui i comandi di installazione:

sudo ap-hotspot stop

sudo ap-hotspot Configure

Crea un programma ... Trascinalo sul desktop e completato :) applausi

Per quanto riguarda due adattatori ... Windows e free bsd possono farlo ... A partire da ora sto ancora cercando di capirlo dato che mi sono avvicinato a questo scenario solo da ieri! Riferirò indietro ... Linux può farlo anche .. Non è un limite hardware per gli adattatori che possono farlo con altri sistemi operativi ...

    
risposta data user251335 23.02.2014 - 08:06
2

Lascia che ti presenti un eccellente strumento che semplifica tutto: create_ap (di oblique )
Questo è il repository ufficiale: link
Questo strumento fa parte dei repository Arch Linux e dovrebbe essere presente anche negli archivi Ubuntu !
È molto facile da usare e molto efficace.
Per installarlo in Ubuntu devi prima installare le dipendenze:

sudo apt install bash util-linux procps hostapd iproute2 iw wireless-tools haveged iptables dnsmasq git

Se non hai usato una "mini immagine di installazione" ne hai già il 90% ...
Una volta fatto, clonare il repository da obliquo:

git clone https://github.com/oblique/create_ap.git

Individua il tuo terminale nel repository scaricato:

cd create_ap

Installa lo strumento con:

sudo make install

(non è necessaria alcuna compilazione con make )
Facile, giusto? Bene, il resto è ancora più semplice ... ... Se il tuo dispositivo è in grado di essere utilizzato come client e PA allo stesso tempo (come il chip wifi di atheros) devi semplicemente collegarti al router di casa con il gestore di rete, come di solito lo fai, e poi esegui una riga di comando del genere:

sudo create_ap <connected interface> <repeater interface> <essid repeated network> <WPA Key>

Esempio

sudo create_ap wlp2s0 wlp2s0 Bathroom_WiFi mysecuresecretkey

E ... Questo è tutto! Incredibileecosìfacile!OradevisolocollegartiallareteripetutaconiltuodispositivoAndroid.Vedraineltuoterminaleportatilel'handshakenegoziatotrailtuolaptopeilclient: Epuoigodertiunabellasessionedibagnoconinternet...Tuttoèfattoconun'unicainterfacciaeconunsemplicecomando.Lostrumentohamolteopzioni,permaggioriinformazionivisitailrepositorygithubdiobliquo(linkfornitoinprecedenza)eseriesciaparlarelospagnolopuoicontrollarequestothreaddelforum: create_ap: La soluzione perfetta per trasformare un ordinatore in un repetidor universale todo terreno

    
risposta data kcdtv 03.08.2018 - 15:26
1

Attualmente è possibile solo per le carte Atheros e pochissime carte Broadcom. Per sapere quale si sta utilizzando, eseguire il seguente comando nel terminale e incollare l'output qui: -

lspci | Wireless

Oppure puoi semplicemente provare questo metodo. Ecco il link per tutorial su come farlo: - connectify-per-linux-with-single-wireless-interface

    
risposta data vasishath 27.07.2013 - 13:18
1

Come risposta Purushoth , questa risposta richiede anche 2 adattatori WiFi (es .: uno interno e 1 USB Wi-Fi esterno adattatore). Non sono riuscito a far funzionare la sua risposta, tuttavia, ecco cosa ho fatto invece.

Testato su Xubuntu 14.04.

Come configurare il PC Ubuntu / Xubuntu come hotspot WiFi (es: da utilizzare negli aeroporti o sugli aerei per condividere una singola connessione a pagamento dal PC con il telefono e altri dispositivi):

  1. Collega un dongle WiFi USB. Non tutti i dongle possono fungere da "ap" (punto di accesso), ma la scheda interna può essere sicura, quindi lo faremo (almeno per ora, finché non trovi un adattatore Wi-Fi USB che può fungere da punto di accesso). USB esterno per connettersi al servizio a pagamento (es: WiFi in volo), e useremo l'adattatore wifi interno per rendere il punto di accesso wifi.
    • IMPORTANTE: NON PAGARE E COLLEGARE IL SERVIZIO PAGATO CON L'ADATTATORE WIFI ERRATO (ESTERNO), O ALTRO DOVRAI PAGARE ANCORA PER ACCENDERLO, IN QUANTO IL TUO COLLEGAMENTO A PAGAMENTO È COLLEGATO A QUALUNQUE COLLEGAMENTO AL PROPRIO ADATTATORE WIFI - PROBABILMENTE VIA IL SUO INDIRIZZO MAC PERMANENTE O QUALCOSA.
  2. Fai clic con il tasto sinistro sull'icona wifi nel pannello e scegli "Crea nuova rete WiFi ..." → scegli l'adattatore Wi-Fi interno (che è wlan0), crea un nome di rete (SSID) (es: "wifi- hotspot "), selezionare" WPA & amp; WPA2 Personal "per" sicurezza Wi-Fi "e creare una password, quindi fare clic su" Crea ".
    • NB: C'È UN INSERIMENTO CHE TI RENDE ALCUNI DIVERSI PER SELEZIONARE L'ADATTATORE WIFI INTERNO PER QUESTO PASSO QUANDO AVETE ANCHE UN ADATTATORE WIFI USB ESTERNO INSERITO. SE QUESTA SUCCEDE, SEMPLICE SCOLLEGARE L'ADATTATORE WIFI ESTERNO MENTRE FACCIA QUESTO PASSO PER FARE IL WIFI HOTSPOT, quindi ricollegalo quando è fatto / quando viene detto di seguito.
  3. Modifica il file di configurazione per il nuovo hotspot Wi-Fi appena creato:
    • cd /etc/NetworkManager/system-connections
    • ls
    • trova il file hotspot appena creato tramite il passaggio della GUI sopra; ex: "wifi-hotspot" e modificarlo:
    • sudo nano wifi-hotspot
    • Freccia giù e modifica "mode = adhoc" o qualsiasi cosa si dice "mode = ap". Salva ed esci.
  4. Ora, con l'adattatore WiFi USB esterno ancora UNplugged, attiva l'hotspot Wi-Fi appena creato facendo nuovamente clic sull'icona Wi-Fi nel pannello e vai a "Connetti a rete WiFi nascosta ..." → scegli il tuo wifi interno adattatore per "adattatore Wi-Fi" e scegliere il nome del punto di accesso (es: "wifi-hotspot") per "Connessione". I campi "Nome rete", "Sicurezza Wi-Fi" e "Password" ora riempimento automatico e grigio. Fai clic su "Connetti". Il punto di accesso WiFi verrà attivato sulla tua scheda interna. Puoi collegare i tuoi dispositivi, come il tuo telefono, ad esso.
  5. Infine, con il tuo hotspot WiFi attivo, collega il tuo adattatore WiFi secondario / USB e usalo per collegarti alla rete a pagamento. Paghi per l'abbonamento o qualsiasi altra cosa e la tua connessione a Internet tramite questo adattatore verrà ora trasmessa automaticamente ai dispositivi collegati a te tramite il tuo adattatore "Access Point" che hai appena configurato.
  6. Fatto!

Riferimenti: qui è dove ho trovato il percorso della cartella /etc/NetworkManager/system-connections & amp; un approccio alternativo (che non ha funzionato per me): link

    
risposta data Gabriel Staples 16.12.2017 - 03:26

Leggi altre domande sui tag