Como faço para criar um hotspot WiFi compartilhando conexão de internet sem fio (adaptador único)?

100

Eu sei como criar um ponto de acesso quando conectado a uma rede com fio, mas quando estou usando a Internet de uma conexão Wi-Fi, isso desconecta a conexão sem fio no momento em que eu ativo o ponto de acesso.

No Windows, posso usar o Connectify Hotspot , que me permite compartilhar a conexão com a Internet do mesmo adaptador sem fio que eu criando um ponto de acesso em. Como você pode ler na página de visão geral da tecnologia :

Access Point mode allows you to create a hotspot using the same Wi-Fi card that you are using to access the Internet.

Como faço isso no Ubuntu?

    
por Ruppesh Nalwaya 11.07.2013 / 17:39

8 respostas

63

Etapas simples: Crie um hotspot wifi no ubuntu

  1. Desativar Wifi (desmarque Ativar Wi-Fi)
  2. Ir para a conexão de rede (Editar conexões ...)
  3. Clique em "Adicionar"
  4. Escolha "Wi-Fi" e clique em "Criar"
  5. Digite o nome da conexão como "wifi-hotspot"
  6. Digite SSID como desejar
  7. Escolha o endereço MAC do dispositivo na lista suspensa (wlan0)
  8. Segurança Wi-Fi, selecione "WPA e WPA2 Pessoal" e defina uma senha .
  9. Vá para a guia Configurações IPv4, na caixa suspensa Método, selecione Compartilhado com outros computadores.
  10. Em seguida, salve e feche.
  11. Abra o Terminal (Ctrl + Alt + T) e digite o seguinte comando com o nome da sua conexão usado na etapa 5.

    sudo gedit /etc/NetworkManager/system-connections/wifi-hotspot
    
  12. Encontre mode=infrastructure e altere para mode=ap

  13. Agora verifique a seção de rede onde o wi-fi será conectado ao ponto de acesso criado automaticamente. Se você não conseguir encontrá-lo, vá para Conectar-se à rede oculta ... Encontre a conexão e conecte-se a ela.

Fonte: link

    
por Purushoth 14.04.2015 / 16:31
42

Depois que vi este link foi oferecido por vasishath , eu consegui configurar um hotspot sem fio para compartilhar a conexão com a internet a partir do mesmo dispositivo de interface sem fio. Este dispositivo sem fio deve usar um driver Atheros que já é construído com o suporte nl80211 . Em seguida, mostrarei como.

Detectar se o seu dispositivo sem fio funcionará com este método

Execute o seguinte comando no terminal :

lsmod | grep ath

Se a saída for nula ou se a string cfg80211 não estiver na saída, não faz sentido continuar e você deve prestar atenção no segundo e terceiro ponto de esta resposta .

Ferramentas necessárias

Verifique se todos os pacotes mencionados abaixo estão instalados: iw , hostapd , iptables , udhcpd , udhcpc , macchanger .

Você pode instalá-los com

sudo apt-get install iw hostapd iptables udhcpd udhcpc macchanger

Edite alguns arquivos

Execute o seguinte comando no terminal para editar os arquivos correspondentes:

sudo -H gedit /etc/hostapd.conf /etc/udhcpd.conf /etc/default/udhcpd /etc/wpa_supplicant.conf
  • No arquivo hostapd.conf , adicione o seguinte código:

    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
    
  • No arquivo udhcpd.conf , comente todas as linhas atuais (adicionando um caractere # na frente da linha) e adicione as seguintes novas linhas:

    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
    
  • Em / etc / default / udhcp, comente a linha que diz DHCPD_ENABLED="no" .

  • Em wpa_supplicant.conf você deve fornecer as configurações da sua rede sem fio atual. Veja man wpa_supplicant para alguns exemplos rápidos. E você provavelmente tem mais exemplos no diretório /usr/share/doc/wpa_supplicant/ . Eu usei algo como:

    ctrl_interface=/var/run/wpa_supplicant
    network={
      ssid="my_wifi_network"
      key_mgmt=WPA-PSK
      proto=WPA
      pairwise=CCMP
      group=CCMP
      psk="mypassphrase"
    }
    
  • Salve todos os arquivos e feche-os.

Note: All of these edits doesn't affect with nothing your current network configuration.

Crie um script de shell

  • Em uma execução de terminal mkdir -p bin - este comando criará um diretório bin na sua pasta home se você ainda não o tiver.
  • Após executar gedit ~/bin/hotspotsetup.sh - isso criará o novo arquivo hotspotsetup.sh em gedit.
  • Copie e cole o seguinte script no novo arquivo criado:
#!/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
  • Salve o arquivo e feche-o.
  • Volte para o terminal e execute: chmod +x ~/bin/hotspotsetup.sh - para conceder acesso de execução para o script.

Iniciar o ponto de acesso sem fio conectado a uma rede sem fio usando o mesmo adaptador sem fio

Execute o script acima no terminal com privilégios de root:

sudo ~/bin/hotspotsetup.sh

Prova

Note:Tostartagainyournetwork-managerserviceasitwasbeforetorunthehotspotsetup.shscript,restartyourcomputer(sudoreboot).

Fonte: Connectify para Linux com interface sem fio única .

    
por Radu Rădeanu 26.07.2013 / 11:11
10

Deixe-me apresentar-lhe uma excelente ferramenta que simplifica tudo: create_ap (por oblique )
Esse é o repositório oficial: link
Esta ferramenta é parte dos repositórios do Arch Linux e deve estar nos repositórios do Ubuntu também!
É muito fácil de usar e muito eficaz.
Para instalá-lo no Ubuntu você deve primeiro instalar as dependências:

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

A menos que você tenha usado uma "mini-instalação de imagem", você já tem 90% deles ...
Uma vez feito isso, clone o repositório do oblíquo:

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

Localize seu terminal no repositório baixado:

cd create_ap

Instale a ferramenta com:

sudo make install

(nenhuma compilação com make é necessária)
Fácil, certo? Bem, o resto é ainda mais fácil ... ... Se o seu dispositivo é capaz de ser usado como um cliente e um PA ao mesmo tempo (como atheros wifi chip - editar: algum chip Intel também, veja segundo comentário abaixo ) você simplesmente tem que se conectar ao seu roteador doméstico com o gerenciador de rede, como você faz normalmente, e então você executa uma linha de comando assim:

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

exemplo

sudo create_ap wlp2s0 wlp2s0 Bathroom_WiFi mysecuresecretkey

E ... É isso! Incríveletãofácil!AgoravocêsótemqueseconectaràrederepetidacomoseudispositivoAndroid.Vocêveránoseuterminallaptopohandshakenegociadoentreseulaptopeocliente: Evocêpodedesfrutardeumaagradávelsessãodebanheirocominternet...Tudoéfeitocomumaúnicainterfaceecomumsimplescomando.Aferramentatemmuitasopções,paramaisinformaçõesvisiteorepositóriodogithubdooblíquo(linkdadoanteriormente)esevocêpuderfalarespanhol,vocêpodeverificarestetópiconofórum: create_ap: A solução perfeita para o seu processo de remoção em um repetidor universal todo o terreno

    
por kcdtv 03.08.2018 / 15:26
5

Como você pode ver nos comentários para esta resposta, é uma maneira de fazer isso. Está documentado para o FreeBSD (que não é Ubuntu / Linux) aqui: link (Link do comentário). Não parece funcionar exatamente da mesma maneira no Linux, mas deve ser semelhante. Infelizmente, não consegui encontrar informações mais detalhadas sobre este tópico.

A maneira mais fácil e mais comum é usar duas interfaces de rede físicas. Então você pode comprar outro stick wifi ou apenas usar outra tecnologia para se conectar mais e fazer apenas um deles via Wi-Fi. As possibilidades são por exemplo:

  • Bluetooth + Wifi
  • LAN / Ethernet + Wifi
  • 3G / LTE + Wifi
  • Wi-Fi (externo) + Wi-Fi (interno ou externo)

Uma vez notei que o Ubuntu Linux é capaz de gerenciar dois dispositivos wi-fi de uma vez sem ser complicado. Eu não testei isso em maneiras de compartilhar a conexão com a internet, etc, mas deveria ser possível. O quão complicado será depender do tipo de conexão que você usa. No Linux você provavelmente não precisa e tipo de software especial. Deve ser possível compartilhar conexões sem a necessidade de ferramentas especiais. Infelizmente não posso tentar neste momento.

Eu recomendo que você tente Wi-Fi para Wifi, se você tem outro pau wifi de qualquer maneira e de outra forma LAN ou Bluetooth (que é incorporado na maioria dos notebooks). O compartilhamento 3G / LTE é um pouco ruim por causa dos planos de dados dos provedores e assim por diante.

    
por verpfeilt 11.07.2013 / 18:10
4

Isso foi adicionado como outra resposta porque a outra resposta criou muita controvérsia.

Acima de tudo, você precisa saber o nome do nosso adaptador sem fio. Use o comando abaixo para obtê-lo:

iwconfig

Seria provavelmente wlan0 ou wlan1.

Há casos em que usamos o adaptador WiFi antigo e queremos saber o driver que ele usa. Podemos usar os comandos abaixo de acordo com o tipo que é USB ou PCI.

lsusb
lspci

Use o comando abaixo para ver qual driver você usa atualmente:

lsmod

Precisa instalar um programa. Apenas pressione Ctrl + Alt + T no seu teclado para abrir o Terminal. Quando se abre, execute o (s) comando (s) abaixo:

sudo apt-get install hostapd

Abra o arquivo de configuração principal do adaptador de rede com este comando:

sudo gedit /etc/hostapd/hostapd.conf

Edite assim:

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

A primeira linha deve ser o nome do seu adaptador de rede. A segunda linha não deve ser alterada na maioria dos casos, a menos que você não tenha sorte e precise de um driver de terceiros. A terceira linha não requer explicação. A quarta linha deve ser o nome do seu ponto de acesso WiFi (SSID). A quinta linha identifica sua rede como um modo / b / g / n. A próxima linha é o seu canal de rede. As linhas restantes definem segurança e criptografia. Na maioria dos casos, você só precisa alterar a frase secreta.

Abra o segundo arquivo de configuração com este comando:

sudo gedit /etc/default/hostapd

E mude assim:

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

A primeira linha aponta para o arquivo principal de configuração do adaptador de rede. A segunda linha diz ao hostapd para rodar no modo DAEMON em segundo plano na inicialização. A última linha diz ao hostapd para registrar todas as mensagens. O truque importante aqui é se você gosta de usar dois adaptadores de rede sem fio diferentes para configurar um Ponto de Acesso de Banda Dupla, você deve criar para separar os arquivos de configuração originais (1º arquivo) para cada ard e alterá-lo assim:

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

As configurações estão concluídas.

Em execução DAEMON

Agora você tem que garantir que o hostapd DAEMON inicie na inicialização (primeiro comando abaixo), você também deve executá-lo agora para evitar uma reinicialização obrigatória.

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

E está terminado. Agora podemos nos conectar ao nosso novo ponto de acesso.

Fontes: Hostapd: a maneira do Linux de criar um ponto de acesso virtual Wi-Fi & Página de documentação do Hostapd Linux

    
por Mitch 27.07.2013 / 22:20
1

A melhor maneira que encontrei para criar uma EXPERIÊNCIA DE CONEXÃO é usar o AP-HOTSPOT!
(WPA2..não wep como o linux faz por padrão no Ubuntu)

sudo add-apt-repository ppa:nilarimogard/webupd8

sudo apt-get update

sudo apt-get install ap-hotspot

Para executar e opções

Iniciar: sudo ap-hotspot start

Pare: sudo ap-hotspot stop

Configurar: sudo ap-hotspot Configure

Quer uma Interface gráfica do usuário ?

Para instalá-lo, abra um terminal e navegue para:

cd /home/USERNAME/LOCATION

Em seguida, execute os comandos de instalação:

qmake

make

Cria um programa ... Arraste-o para a área de trabalho e pronto :) cheers

No que diz respeito a dois adaptadores ... O Windows e o bsd gratuito podem fazê-lo ... A partir de agora, ainda estou tentando descobrir isso, pois só me aproximei desse cenário até ontem! Vou relatar ... O Linux também pode fazer isso ... Não é uma limitação de hardware para os adaptadores que podem fazer isso com outros sistemas operacionais ...

    
por user251335 23.02.2014 / 08:06
1

Atualmente é possível apenas para cartões Atheros e alguns cartões da Broadcom. Para saber qual você está usando, por favor, execute o seguinte comando no terminal e cole a saída aqui: -

lspci | Wireless

Ou você pode simplesmente experimentar esse método. Aqui está o link para tutorial sobre como fazer isso: - connectify-for-linux-with-single-wireless-interface

    
por vasishath 27.07.2013 / 13:18
0

Assim como a resposta Purushoth , esta resposta também requer 2 adaptadores WiFi (ex: um interno e um externo USB Wi-Fi adaptador). Eu não consegui a resposta dele funcionar para mim, então aqui está o que eu fiz ao invés disso.

Testado no Xubuntu 14.04.

Como configurar o Ubuntu / Xubuntu PC como um hotspot WiFi (ex: para uso em aeroportos ou aviões, a fim de compartilhar uma única conexão paga do seu PC com seu telefone e outros dispositivos):

  1. Conecte um dongle USB WiFi. Nem todos os dongles podem funcionar como um “ap” (Ponto de Acesso), mas a placa interna pode ter certeza, por isso vamos (pelo menos até que você encontre um adaptador USB que possa atuar como um ponto de acesso). USB externo um para se conectar ao serviço pago (ex: WiFi em vôo), e vamos usar o adaptador wi-fi interno para fazer o ponto de acesso wi-fi.
    • IMPORTANTE: NÃO PAGUE E SE CONECTE AO SERVIÇO PAGO COM O ADAPTADOR WIFI (externo) ERRADO OU PODE TER QUE PAGAR MAIS UMA VEZ PARA TROCAR, POIS A SUA CONEXÃO PAGA ESTÁ ALGUNS RELACIONADOS AO SEU ADAPTADOR WIFI - PROVAVELMENTE VIA SEU ENDEREÇO DE MAC PERMANENTE OU ALGO.
  2. Clique com o botão esquerdo no ícone do Wi-Fi no painel e escolha "Criar nova rede Wi-Fi ..." → escolha o adaptador Wi-Fi interno (que é wlan0), crie um nome de rede (SSID) (ex: “wifi- hotspot ”), escolha“ WPA & WPA2 Personal ”para“ Segurança Wi-Fi ”, e crie uma senha e clique em“ Criar ”.
    • NB: HÁ UM ERRO QUE O FAZ ÀS VEZES NÃO É POSSÍVEL SELECIONAR O ADAPTADOR DE WIFI INTERNO PARA ESTE PASSO QUANDO VOCÊ TAMBÉM TEM UM ADAPTADOR DE WIFI USB EXTERNO LIGADO. SE ISSO ACONTECER, DESLIGUE SIMPLESMENTE O ADAPTADOR DE WIFI EXTERNO AO FAZER ESTE PASSO PARA FAZER O HOTSPOT DE WIFI, depois conecte-o novamente quando terminar / quando for informado abaixo.
  3. Edite o arquivo de configuração para o novo hotspot Wi-Fi que você acabou de criar:
    • cd /etc/NetworkManager/system-connections
    • ls
    • Encontre seu arquivo de ponto de acesso que você acabou de criar por meio da etapa da GUI acima; ex: “wifi-hotspot”, e edite-o:
    • sudo nano wifi-hotspot
    • Seta para baixo e altere "mode = adhoc" ou o que estiver escrito para "mode = ap". Salvar e sair.
  4. Agora, com o adaptador USB WiFi externo ainda UNplugged, ative o hotspot Wi-Fi que você acabou de criar clicando com o botão esquerdo no ícone WiFi no painel novamente e indo para "Conectar à rede Wi-Fi oculta ..." → escolha seu wifi interno adaptador novamente para “adaptador Wi-Fi” e escolha o nome do ponto de acesso (ex: “wifi-hotspot”) para “Conexão”. Os campos “Nome da rede”, “Segurança Wi-Fi” e “Senha” agora preenchimento automático e cinza. Clique em "Conectar". O ponto de acesso WiFi será ativado no seu cartão interno. Você pode conectar seus dispositivos, como seu telefone, a ele.
  5. Finalmente, com o seu hotspot WiFi ativo, conecte seu adaptador WiFi secundário / USB e use-o para conectar-se à rede paga. Pague pela sua assinatura ou qualquer outra coisa e sua internet através deste adaptador será automaticamente transmitida para dispositivos conectados a você através de seu adaptador interno de “Access Point” que você acabou de configurar.
  6. Feito!

Referências: aqui é onde encontrei o caminho da pasta /etc/NetworkManager/system-connections & uma abordagem alternativa (que não funcionou para mim): link

    
por Gabriel Staples 16.12.2017 / 03:26