Comandos de terminal equivalentes à opção “Use as the Hotspot” do NetworkManager

10

Estou fazendo um aplicativo gui que controlará meu laptop para que ele funcione como um hotspot de Wi-Fi. Eu posso mudar distribuições, então eu quero encontrar uma solução que funcione geralmente para todas as distribuições. Atualmente estou fazendo isso no Fedora 17.

Usar o botão "Usar como ponto de acesso" do NetworkManager funciona muito bem para criar um ponto de acesso ad hoc:

Euquerorecriaressafuncionalidadecomcomandosdeterminal.

Abaixoestãodoismétodosquetenteirealizar,masaindanãoencontreiumasolução.

Método1:iwconfig
Usandopesquisasemtodaaweb,tenteioseguintecomando:

#ifconfigwlan010.42.0.1netmask255.555.255.0broadcast10.42.0.255up#iwconfigwlan0essidmy-lappymodead-hockey0123456789#iptables-restore<saved-hotspot-iptables#echo1>/proc/sys/net/ipv4/ip_forward#dhclientwlan0

ondesaved-hotspot-iptableséumarquivoqueeugeroucomiptables-save>saved-hotspot-iptablescomoiptablesdefinidopelafunção"Use as Hotspot".

Método 1 Problema Os dispositivos podem ver o SSID, mas não conseguem se conectar. A execução de ip a revela o seguinte sobre wlan0:

...
3: wlan0: <NO-CARRIER,BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state DORMANT qlen 1000
...

Aviso NO-CARRIER está presente e o estado é DORMANT em vez de UP .

A execução de ifconfig wlan0 mostra o seguinte:

...
wlan0: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500
...

Observe que RUNNING está ausente 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, /etc/sysconfig/network-scripts/ifcfg-Hotspot será criado e eu poderei usar o seguinte comando para iniciar um ponto de acesso:

# ifconfig wlan0 up
# nmcli con up id Hotspot
# iwconfig wlan0 essid my-lappy key 0123456789

Método 2 Problema
Se o usuário nunca tiver pressionado "Use as hotspot" no NetworkManager antes, nmcli con up id Hotspot não funcionará. Eu olhei para 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 ou extensível a outras distribuições.

    
por Daniel 22.06.2012 / 17:23

3 respostas

0

Um servidor DHCP foi necessário para atribuir endereços IP a conexões wi-fi. Eu usei dnsmasq , um servidor DNS e DHCP.

Seguem-se os comandos para iniciar um hotspot Wi-Fi ad-hoc:

# 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
# dnsmasq -C /dev/null >/dev/null 2>&1 --bind-interfaces --listen-address=10.42.0.1 --dhcp-range=10.42.0.10,10.42.0.200,12h
    
por 31.07.2012 / 20:40
1

Veja minha resposta para o " Criar ponto de acesso sem fio e compartilhar conexão de internet com nmcli "

Eu criei um Hotspot com o Gerenciador de Rede do GNOME. O problema é 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.

sudo vim /etc/NetworkManager/system-connections/Hotspot

O conteúdo do arquivo é assim:

[connection]
id=Hotspot
uuid=0bf627gd-8e34-48c6-865a-06f898b4y1hb
type=wifi
autoconnect=false
permissions=
secondaries=

[wifi]
hidden=false
mac-address=YOUR_WIFI_INTERFACE_MAC_ADDRESS
mac-address-blacklist=
mode=ap
seen-bssids=
ssid=SSID_NAME

[wifi-security]
group=ccmp;
key-mgmt=wpa-psk
pairwise=ccmp;
proto=rsn;
psk=YOUR_WIFI_AP_PASSWORD

[ipv4]
dns-search=
method=shared

[ipv6]
dns-search=
method=auto

Alterei apenas as propriedades ssid e psk para as minhas necessidades. Então reiniciei meu computador porque o comando: sudo systemctl restart NetworkManager para reinicialização de rede parece não funcionar corretamente, porque na GUI do Network-Manager eu não tenho mais configurações de rede sem fio e também o seguinte comando não funcionou antes da reinicialização. Após a reinicialização, você pode usar o comando nmcli para iniciar o ponto de acesso.

nmcli con up Hotspot ifname YOUR_WIFI_INTERFACE

YOUR_WIFI_INTERFACE você pode descobrir com o comando iwconfig .

    
por 08.10.2015 / 14:59
1

Existe uma opção dedicada em nmcli :

nmcli device wifi hotspot ifname wlan0 ssid toto password toto

Mais informações no Manual :

wifi hotspot [ifname ifname] [con-name name] [ssid SSID] [ band { a | bg } ] [channel channel] [password password] 
    
por 18.10.2017 / 19:49