Então, basicamente, eu gostaria de usar iwconfig
para conectar-me à minha rede wifi quando não estiver dentro do X. Mas não vejo uma maneira de fazer isso na página de manual. Qualquer ideia?
Então, basicamente, eu gostaria de usar iwconfig
para conectar-me à minha rede wifi quando não estiver dentro do X. Mas não vejo uma maneira de fazer isso na página de manual. Qualquer ideia?
Respostas:
iw
(list / config) pode lidar apenas com WEP.
Você precisa do wpasupplicant
pacote que fornece o wpa_supplicant
comando, instale se necessário sudo apt-get install wpasupplicant
.
Você coloca seu SSID e senha /etc/wpa_supplicant.conf
(requer sudo).
Exemplo:
network={
ssid="ssid_name"
psk="password"
}
Supondo que sua interface seja wlan0, você pode se conectar com:
sudo wpa_supplicant -B -i wlan0 -c /etc/wpa_supplicant.conf -D wext
sudo dhclient wlan0
"wext" é um driver e isso será específico para cada cartão; consulte wpa_supplicant -h
. Exemplos:
hostap (default) Host AP driver (Intersil Prism2/2.5/3). (this can also be used with Linuxant DriverLoader).
hermes Agere Systems Inc. driver (Hermes-I/Hermes-II).
madwifi MADWIFI 802.11 support (Atheros, etc.).
atmel ATMEL AT76C5XXx (USB, PCMCIA).
wext Linux wireless extensions (generic).
ndiswrapper Linux ndiswrapper.
broadcom Broadcom wl.o driver.
ipw Intel ipw2100/2200 driver.
wired wpa_supplicant wired Ethernet driver
roboswitch wpa_supplicant Broadcom switch driver
bsd BSD 802.11 support (Atheros, etc.).
ndis Windows NDIS driver.
wpa_supplicant -B -iwlan0 -c/etc/wpa_supplicant.conf -Dwext && dhclient wlan0
não se conectou à rede sem fio, embora por padrão o NetworkManager me conecte à rede, quero tentar a linha de comando. Existe algum erro que estou cometendo?
root
(administrador do sistema). Então, sudo wpa_supplicant -B -iwlan0 -c/etc/wpa_supplicant.conf -Dwext && sudo dhclient wlan0
ou divida-os em dois comandos &&
.
Este link mostra tudo e funcionou bem para mim: http://linux.icydog.net/wpa.php
Estou copiando o conteúdo aqui, então o temos, caso o site fique offline.
Linha de comando WPA
Às vezes, você estará em uma linha de comando sem acesso às ferramentas de rede da GUI - mas seu ponto de acesso está protegido com WPA. O que você faz?
Supondo que sua placa sem fio realmente funcione (ou seja, o iwconfig pode vê-la e interagir com ela), usar o wpa_supplicant é realmente muito simples. Instalando o wpa_supplicant
Atualmente, a maioria das distros possui o wpa_supplicant instalado por padrão. Se você tiver os comandos wpa_passphrase e wpa_supplicant disponíveis, estará pronto. Caso contrário, você precisará instalar o pacote fazendo algo como (para Ubuntu):
$ sudo apt-get install wpasupplicant
Ou (para o Fedora):
# yum install wpa_supplicant
Ou qualquer que seja o comando para sua distribuição.
Gerando o arquivo de configuração
Agora que o wpa_supplicant está instalado, criaremos seu arquivo de configuração. Depois de conhecer a senha SSID e WPA, tudo o que você precisa fazer é executar:
$ wpa_passphrase myrouter mypassphrase > wpa.conf
Obviamente, substitua "myrouter" pelo SSID do seu roteador, "mypassphrase" pela senha WPA e "wpa.conf" pelo arquivo em que deseja armazenar a configuração. Esse nome de arquivo não precisa seguir um formato específico ou tem uma extensão específica.
Como alternativa, para evitar digitar a senha na linha de comando (para que ela não seja salva no histórico do shell), você pode especificar apenas o SSID na linha de comando. wpa_passphrase esperará que você digite a senha seguida de enter:
$ wpa_passphrase myrouter > wpa.conf
mypassphrase
Você deve terminar com um arquivo parecido com este:
network={
ssid="myrouter"
#psk="mypassphrase"
psk=8ada1f8dbea59704ac379538b4d9191f6a72390581b4cd7a72864cea685b1a7f
}
Conectando-se
Agora, executaremos o wpa_supplicant para conectar-se à rede sem fio. Primeiro, se o seu roteador transmitir seu SSID (todos eles funcionam por padrão), você provavelmente deseja garantir que sua placa sem fio possa vê-lo:
$ iwlist scan
Pode ser necessário executá-lo como root para forçar uma atualização.
Em seguida, você precisará conhecer três informações:
wpa_supplicant --help
lista os diferentes drivers que possui (em "drivers:"). A partir de 0.5.8, as escolhas úteis são: wext
, hostap
, madwifi
, atmel
, ndiswrapper
, e ipw
(IPW é apenas para kernels antigos;> = 2.6.13 deve usar wext). Se você não encontrar uma correspondência específica para o seu cartão, tente o wext, pois esse é o tipo de coisa fácil.iwconfig
. Ele reportará "sem extensões sem fio" para dispositivos não-sem fio e exibirá alguns dados para quaisquer dispositivos sem fio.Agora que você possui esses dados, execute (como root):
# wpa_supplicant -D[driver] -i[device] -c[/path/to/config]
Não há espaços entre as opções e os parâmetros. Não inclua os colchetes, pois acabei de adicioná-los para maior clareza. Por exemplo, para o meu laptop, fica assim:
# wpa_supplicant -Dwext -ieth1 -c/root/wpa.conf
Você também pode executá-lo em segundo plano usando a -B
opção para que não ocupe seu console.
Agora você está associado à rede.
Ficar online
Para realmente ficar online, você precisará obter um IP de alguma forma. A maioria das pessoas deseja obter um IP dinâmico de um servidor DHCP, provavelmente o que está embutido no roteador. (Não vou cobrir a configuração de um IP estático e uma tabela de roteamento, porque isso é um animal em si.)
Para obter uma concessão de DHCP, primeiro libere as concessões nas quais você ainda está mantendo (como root):
# dhclient -r
Em seguida, solicite uma nova concessão (é claro que substitua eth1 pelo nome do seu dispositivo de rede, o mesmo que você usou na seção anterior):
# dhclient eth1
Agora você tem um IP, pelo menos em teoria. Feliz surf!
O Debian e outras distribuições têm o wpa_suplicant sendo executado como um serviço por padrão, a fim de gerenciar as redes wifi. O wpa_suplicant pode ser tratado por diferentes clientes / front-ends, como a GUI do gerenciador de rede. Isto é melhor explicado neste wiki debian .
wpa_cli é o cliente wpa_suplicant da linha de comando para gerenciar as redes wifi.
Edit : Acabei de encontrar este post explicando como usar o nmcli e é muito melhor do que o wpa_cli, pois é compatível com o GUI Network Manager e suas configurações e salvou as redes wifi.
Exemplo de uso de wpa_cli :
Verifique se eu já tenho uma interface de rede habilitada para wifi:
# iwconfig
wlan0 IEEE 802.11bgn ESSID:off/any
Mode:Managed Access Point: Not-Associated Tx-Power=22 dBm
Retry short limit:7 RTS thr:off Fragment thr:off
Encryption key:off
Power Management:on
Verifique se o processo wpa_suplicant está em execução:
# ps -e | grep wpa
1881 ? 00:00:07 wpa_supplicant
Entre no modo interativo do cliente wpa:
# wpa_cli
Listar pontos de acesso disponíveis:
> scan
> scan_results
... e você terá algo parecido com isto:
bssid / frequency / signal level / flags / ssid
e0:60:66:7c:81:7f 2417 -66 [WPA2-PSK-CCMP][ESS] vodafone817E
e0:60:66:61:83:4b 2452 -76 [WPA2-PSK-CCMP][WPS][ESS] vodafone834A
f8:8e:85:c5:65:c2 2462 -76 [WPA-PSK-CCMP+TKIP][WPS][ESS] MOVISTAR_65C1
a8:d3:f7:46:0c:be 2472 -83 [WPA-PSK-CCMP+TKIP][WPA2-PSK-CCMP+TKIP][WPS][ESS] Orange-0CBC
...
Adicione seu AP:
> add_network
> set_network 0 ssid "vodafone817E"
> set_network 0 psk "my-pass-phrase"
Selecione como atual:
> enable_network 0
Conecte-se a ele:
> reconnect
Verifique o status:
> status
Saia do wpa_cli:
> quit
No shell, solicite ao DHCP as configurações de IP e de rede:
# dhclient -r
# dhclient wlan0
wpa_cli
e depois escreve wpa_client
? No Kubuntu 18.10 wpa_client
parece não existir como um comando
Primeiro, crie seu cartão se não estiver em execução:
ifconfig wlan0 up
Defina os parâmetros de acordo com a sua rede
iwlist wlan0 scan
iwconfig wlan0 essid NETWORK_ID key WIRELESS_KEY
Na verdade, existe uma maneira de fazer isso usando o NetworkManager, se você tiver o checkbox
pacote instalado.
sudo /usr/share/checkbox/create_connection SSID --security=wpa -key=WPA-KEY
(Crédito: bug 923836 , que apareceu nas minhas pesquisas sobre o assunto.)
Todas as respostas que sugerem wpa_supplicant estão erradas. Sim, pode conectá-lo à rede WPA, mas essa é uma solução ruim a longo prazo, porque será muito difícil de manter e não funcionará bem com uma conexão com fio. Leia esta resposta e facilite sua vida usando o Network Manager na linha de comando. Perdi horas tentando configurar o wpa_supplicant, depois tentei o nmcli e "apenas funcionou".
Você pode usar o VSWM - Very Simple Wireless Manager. Você coloca seus pontos de acesso conhecidos em um arquivo cfg simples (/etc/vswm.cfg) e, quando o executa vswm
, verifica as redes disponíveis e conecta sua placa à primeira que aparece em /etc/vswm.cfg.
O VSWM está disponível em https://github.com/dmelo/vswm . Aqui está uma seleção de como o arquivo de configuração vswm.cfg se parece:
[global]
dev = wlan0
dns = ["4.2.2.1","8.8.8.8"]
[wlan0-0]
ssid = Network1
psk = netpassword
protocol = WPA
net = dhcp
[wlan0-1]
ssid = Network2
protocol = WEP
net = static
address = 192.168.0.15/24
Sob o capô, ele usa as ferramentas de linha de comando padrão: iwlist, wpa_supplicant, iwconfig, dhclient ... Somente ele automatiza o trabalho.
Ocorreu um problema ao usar wpa_supplicant
diretamente para acessar uma rede sem fio. Minha identificação de rede e senha geraram erros quando usei o wpa_supplicant.conf
arquivo na wpa_supplicant
linha de comando, por exemplo
sudo wpa_supplicant -iwlan0 -c/etc/wpa_supplicant.conf -B
Eu era capaz de contornar isso wpa_cli
. A sequência de comandos que eu tive que usar, já que estou usando um driver do Windows com o Linux ndiswrapper, é:
sudo modprobe ndiswrapper
sudo iwconfig wlan0 essid "<My Network ID>" mode managed
sudo wpa_cli identity "<My Network ID>" password "<My password>"
Eu configurei a rede adicionando-a na seção sem fio da rede na GUI, para poder clicar no ícone de rede com ou sem fio e selecionar o provedor sem fio (às vezes necessário para concluir o logon).
A nmcli
é a versão de linha de comando do gerenciador de aplicativo de rede padrão no Ubuntu.
Algumas das vantagens são que ele usa a configuração que você já possui na interface gráfica e não precisa de acesso root.
Você pode executar nmcli
para mostrar as opções disponíveis.
Exemplo para conectar-se a um wifi chamado MYESSID:
nmcli c up MYESSID