Estou criando um aplicativo GUI que controlará meu laptop para que ele atue como um hotspot wifi. Posso alterar as distribuições, por isso quero encontrar uma solução que funcione geralmente para todas as distribuições. Atualmente, estou fazendo isso no Fedora 17.
O uso do botão "Usar como ponto de acesso" do NetworkManager funciona muito bem para criar um ponto de acesso ad-hoc:
Eu quero recriar essa funcionalidade com comandos de terminal.
Abaixo estão dois métodos que tentei fazer isso, mas ainda não encontrei uma solução.
Método 1: iwconfig
Usando pesquisas de toda a web, tentei o seguinte comando:
# ifconfig wlan0 10.42.0.1 netmask 255.555.255.0 broadcast 10.42.0.255 up
# iwconfig wlan0 essid my-lappy mode ad-hoc key 0123456789
# iptables-restore < saved-hotspot-iptables
# echo 1 > /proc/sys/net/ipv4/ip_forward
# dhclient wlan0
Onde saved-hotspot-iptables
está um arquivo que eu gerei com iptables-save > saved-hotspot-iptables
o iptables definido pela função "Use as Hotspot".
Método 1 Problema Os
dispositivos podem ver o SSID, mas não conseguem se conectar. A execução ip a
revela o seguinte sobre o wlan0:
...
3: wlan0: <NO-CARRIER,BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state DORMANT qlen 1000
...
O aviso NO-CARRIER
está presente e o estado está em DORMANT
vez de UP
.
A execução ifconfig wlan0
mostra o seguinte:
...
wlan0: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500
...
Observe que RUNNING
está faltando como um dos sinalizadores.
Método 2: nmcli
Se o botão "Usar como ponto de acesso" do NetworkManager for pressionado pelo menos uma vez no sistema, ele /etc/sysconfig/network-scripts/ifcfg-Hotspot
será criado e eu posso usar o seguinte comando para iniciar um ponto de acesso em funcionamento:
# ifconfig wlan0 up
# nmcli con up id Hotspot
# iwconfig wlan0 essid my-lappy key 0123456789
Método 2 Problema
Se o usuário nunca pressionou "Usar como ponto de acesso" no NetworkManager antes, nmcli con up id Hotspot
não funcionará. Eu olhei, nm-connection-editor --create
mas não consegui encontrar muita informação. Também procurei criar manualmente, /etc/sysconfig/network-scripts/ifcfg-Hotspot
mas esse método não parece elegante nem extensível a outras distribuições.
Respostas:
Consulte minha resposta para "Criar ponto de acesso sem fio e compartilhar conexão com a Internet
nmcli
"Eu criei um ponto de acesso com o GNOME Network-Manager. O problema era que não consigo configurar o SSID e a senha na GUI. Se você criar o Hotspot com a GUI do Network-Manager, ele criará o arquivo
/etc/NetworkManager/system-connections/Hotspot
. Nesse arquivo, é possível editar o SSID e a senha.O conteúdo do arquivo fica assim:
Apenas alterei
ssid
aspsk
propriedades e as de acordo com minhas necessidades. Em seguida, reiniciei o computador porque o comando:sudo systemctl restart NetworkManager
para reinicialização da rede parece não funcionar corretamente, porque na GUI do Network-Manager não tenho mais configurações de rede sem fio e também o comando a seguir não funcionou antes da reinicialização. Após a reinicialização, você pode usar onmcli
comando para iniciar o ponto de acesso.YOUR_WIFI_INTERFACE
você pode descobrir com o comandoiwconfig
.fonte
Existe uma opção dedicada em
nmcli
:Mais informações do manual :
fonte
Um servidor DHCP era necessário para atribuir endereços IP a conexões wifi. Eu usei
dnsmasq
, um servidor DNS e DHCP.A seguir, são apresentados os comandos para iniciar um ponto de acesso wifi ad-hoc:
fonte