Estou tentando criar um ponto de acesso WiFi ou um ponto de acesso no meu laptop Linux. Estou usando o Opensuse Kde 12.3.
Eu descobri um software chamado hostapd
que permite criar hotspot, mas requer duas interfaces. Um conectado à Internet e o outro no qual você deseja criar o ponto de acesso ( tutorial aqui ). O problema que tenho é que não tenho conexão Ethernet. A wlan
interface está sendo usada para conectar-se à Internet.
Existe alguma maneira de criar o ponto de acesso na mesma interface que está conectada à Internet (como o software connectify faz no Windows)? Eu estava pensando em criar uma interface virtual (como a que airmon-ng
cria para monitorar o wifi) e usá-la como segunda interface. Isso é possível?
ATUALIZAR
Aqui está o que eu tenho sido capaz de fazer até agora:
1) Crie 2 interfaces (uma como estação e a outra como ponto de acesso)
iw phy phy0 interface add mySta type station
iw phy phy0 interface add myAcc type __ap
2) Dê a eles Mac ID separado
ifconfig myAcc hw ether A4:17:FE:6E:00:53
ifconfig myAcc 192.168.27.1 up
3) inicie o hostapd na interface myAcc
4) inicie o dnsmasq para fornecer o endereço IP aos dispositivos de conexão
Tudo isso funciona. Os dispositivos podem se conectar a esta rede e obter o endereço IP. O próximo passo é fornecer o mascaramento de IP
iptables --table nat --append POSTROUTING --out-interface mySta -j MASQUERADE
iptables --append FORWARD --in-interface myAcc -j ACCEPT
Mas a interface do mySta agora não consegue se conectar à Internet. É capaz de obter o Essid, mas não pode obter o endereço IP.
O comando dhclient mySta não mostra nenhuma mensagem e, após algum tempo, dá o erro:
ls: cannot access /var/run/netconfig//mySta/: No such file or directory
Alguém pode descobrir como obter o endereço IP?
Respostas:
Para qualquer outra pessoa que enfrenta esse problema, o problema está no endereço mac. Comecei a interface do ponto de acesso, dei um endereço mac. Depois de executar o hostapd, adicionou a interface da estação, deu um endereço MAC diferente e conectou-o à rede e deu o endereço IP da estação como o gateway padrão dos clientes através do dnsmasq.
Agora tudo está funcionando corretamente.
Como apontado por Diblo Dk, você pode usar interfaces virtuais e fictícias, mas o hostapd não estava trabalhando com elas. Não sei porque.
Aqui estão os passos:
fonte
Configurar uma rede fictícia
1 Abra o console
2 Veja se você tem um driver fictício
(!) Se você não possui um driver fictício, vá para " Criar módulo do kernel ".
3 Carregar driver fictício
(!) Não o adicione na inicialização, se falhar.
4 Teste o dummy0 colocando-o
Isso lhe dará uma saída semelhante.
5 Adicione um driver fictício à inicialização
Edite o arquivo sys do kernel.
e adicione " fictício " a MODULES_LOADED_ON_BOOT.
Ex. MODULES_LOADED_ON_BOOT = "manequim vmcp".
6 Defina as configurações de rede para dummy0
Crie o arquivo ifcfg-dummy0.
Adicione ao arquivo ifcfg-dummy0:
Criar módulo do kernel
1 Primeiro instalando as coisas necessárias
Abra o YaST.
Navegue para
Software
->Software Management
.Carraça:
2 Volte ao console e navegue até a fonte do kernel
3 Importe a configuração atual do kernel
4 Menuconfig do kernel aberto
5 Adicionar suporte ao driver de rede Dummy
Navegue para
Device Drivers
->Network device support
(!) Se você tiver um asterisco próximo a "Suporte ao driver principal da rede", poderá pular as etapas 7 e 9.
6 Compile o kernel
Onde (n + 1) = número de núcleos da CPU mais um usado para acelerar a compilação. Para quatro núcleos, use make -j5.
7 Instale o novo kernel
8 Instalar módulos
9 Carregue o novo kernel
Definindo um VIPA (a parte sobre carregamento de módulo e ifcfg-dummy0): http://wiki.linuxvm.org/wiki/Defining_a_VIPA
Configure IPs estáticos: https://www.linode.com/wiki/index.php/Configure_Static_IPs
openSUSE 12.3 e Instalando novas versões do kernel do Linux a partir do kernel.org: http://forums.opensuse.org/blogs/jdmcdaniel3/opensuse-installing-new-linux-kernel-versions-134/
OpenSUSE 11.2 - Como compilar um kernel para iniciantes : http://linuxtweaking.blogspot.dk/2010/04/opensuse-112-how-to-compile-kernel-for.html
fonte
Criar interface virtual
Criar arquivo ifcfg-wlan0: 0
Adicione ao arquivo ifcfg-wlan0: 0:
Os comandos para ativar a interface
Nota: Desligar a interface principal também encerra todos os seus aliases também. Os aliases podem ser desligados independentemente de outras interfaces.
Verifique se a interface funciona
Isso lhe dará uma saída semelhante.
http://forums.opensuse.org/english/get-technical-help-here/network-internet/461132-os-11-4-network-manager-default-connection-can-handle-virtual-interfaces.html# post2350426
fonte