De acordo com as Leis 12.965/2014 e 13.709/2018, que regulam o uso da Internet e o tratamento de dados pessoais no Brasil, ao me inscrever na newsletter do portal DICAS-L, autorizo o envio de notificações por e-mail ou outros meios e declaro estar ciente e concordar com seus Termos de Uso e Política de Privacidade.
Colaboração: Rafael Henrique da Silva Correia
Data de Publicação: 29 de abril de 2008
Há algum tempo atrás, na minha faculdade, estava tranquilamente usando o meu notebook com Debian, conectando a wireless sem criptografia e que distribuia dhcp pelo servidor, até que a galera daqui resolveu mudar as configurações e o roteador wireless passou a ter criptografia. Eles começaram a usar WPA. Para quem não conhece, WPA é um tipo de criptografia wireless muito conhecida (não inquebrável como todas as coisas, porém muito boa).
Fazendo a coisa toda funcionar...
Seu dispositivo wireless já tem que estar funcionando pois este tutorial não visa ensinar a configurar dispositivos mas sim botá-los para funcionar com criptografia WPA.
Existe um comando muito bom no Linux que garanto que a maioria conhece, mas para quem não conhece é bico de se testar, se você está em dúvida se existe um access point (vou escrever access point como AP) perto de você para listar os APs disponíveis use o comando:
# iwconfig wlan0 scan
Onde wlan0 será sua interface wireless, podendo modificar tanto de nome como de número (caso exista mais de um dispositivo wireless). Para saber que dispositívos wireless você tem no momento use o comando:
# ifconfig
Temos que gerar a chave WPA para nos conectarmos ao AP.... Para isso instalamos o pacote wpasupplicant:
# apt-get install wpasupplicant
ou
# aptitude install wpasupplicant
Feito isso execute o seguinte comando:
# wpa_passphrase < Ssid> < senha>
Onde Ssid tem que ser substituido pelo ESSID mostrado no comando:
# iwlist wlan0 scan
teste:/home/rafael# iwlist wlan0 scan wlan0 Scan completed : Cell 01 - Address: 00:12:A9:06:40:5B ESSID:"3Com" Protocol:IEEE 802.11g Mode:Managed Frequency:2.412 GHz (Channel 1) Quality:15/100 Signal level:-86 dBm Noise level:-96 dBm Encryption key:on Bit Rates:1 Mb/s; 2 Mb/s; 5.5 Mb/s; 6 Mb/s; 11 Mb/s 12 Mb/s; 24 Mb/s; 36 Mb/s Extra:bcn_int=100 Extra:atim=0 IE: WPA Version 1 Group Cipher : CCMP Pairwise Ciphers (1) : CCMP Authentication Suites (1) : PSK teste:/home/rafael# wpa_passphrase "3Com" 12345678 network={ ssid="3Com" #psk="12345678" psk=ada307b24bb72fdf49732cb954b1cef25365c106d2257fdb43df5cc1c49ae559 }
O comando o wpa_passphrase
gera uma saída que tem que ser redirecionada
para um arquivo de configuração, que é o arquivo que vai ser lido por outro
comando para que possamos conectar.
Portanto no meu caso eu chamei o arquivo de wpa_supplicant.conf
gravando-o
em /etc,
ficando da seguinte forma:
teste:/home/rafael# wpa_passphrase "3Com" 12345678 > /etc/wpa_supplicant.conf
Mais um alerta! Se você não quiser que os outros vejam qual a senha da sua
rede apague a linha comentada #psk
. No meu exemplo é esta linha:
#psk="12345678"
Como me conectar por dhcp nesse AP??
Simples, rápido e eficiente :-)...
O comando para fazer a coisa funcionar é o wpa_supplicant
! A linha
que eu costumo usar aqui é:
# wpa_supplicant -i wlan0 -c /etc/wpa_supplicant.conf -D wext
O comando wpa_supplicant
faz a mágica baseada em um driver! Eu uso o
ndiswrapper para usar meu dispositivo wireless, usei o driver wext
do
wpa_supplicant
e ficou perfeito! Roubando uma dica do Carlos Morimoto:
ndiswrapper : Indique este driver ao ativar a placa de rede usando o Ndiswrapper, usando o driver do Windows. Note que muitas placas funcionam perfeitamente no Ndiswrapper em redes sem encriptação ou WEP, mas ficam instáveis ao usar o WPA, justamente por que ele utiliza mais camadas e por isso tem uma possibilidade maior de apresentar problemas diversos.
wext: Este é um driver genérico, que dá suporte a muitas das placas que possuem drivers nativos. Se a sua placa não possui um driver específico (cheque os abaixo), é bem provável que funcione com ele. Em geral, as placas IPW 2200 funcionam melhor com o wext do que com o driver "ipw". Experimente as duas opções caso esteja tendo problemas com sua placa.
madwifi: O driver para placas com chipset Atheros, como a que estou usando no exemplo.
broadcom: Este é o driver nativo para as placas com chipset Broadcom, desenvolvido via engenharia reversa. Estas placas podem ser configuradas também através do Ndiswrapper. Cheque a forma como está configurada no seu micro.
ipw: Placas com os chipsets Intel IPW2100 e IPW2200, usadas nos notebooks Intel Centrino.
prism54, hermes e atmel: Estes três drivers são os mais incomuns, usados (respectivamente) pelas placas com chipset Prism (em suas várias versões), Hermes e Hermes II (da Agere) e Atmel.
No meu caso eu uso o ndiswrapper
para emular meu driver wireless e no
wpa_supplicant
não posso usá-lo senão não consigo me conectar. O melhor
a fazer é testar para ver qual funciona com seu driver.
Quando aparecer uma resposta mais ou menos assim do comando:
Trying to associate with 00:12:a9:06:40:5b (SSID='3Com' freq=2412 MHz) Associated with 00:12:a9:06:40:5b WPA: Key negotiation completed with 00:12:a9:06:40:5b [PTK=CCMP GTK=CCMP] CTRL-EVENT-CONNECTED - Connection to 00:12:a9:06:40:5b completed (auth) [id=0 id_str=]
Significa que está funcionando.
Se aparecer algo do tipo:
Trying to associate with 00:12:a9:06:40:5b (SSID='3Com' freq=2412 MHz) Association request to the driver failed Authentication with 00:00:00:00:00:00 timed out. Trying to associate with 00:12:a9:06:40:5b (SSID='3Com' freq=2412 MHz) Association request to the driver failed
Significa que ainda não está funcionando. Mas não desista, insista, uma hora vai dar certo, com algum driver!
Agora depois temos que entrar na rede! Para isso:
teste:/home/rafael# dhclient wlan0
Aí pegamos um ip por DHCP! :-)
Se dermos um ifconfig
e tiver um ip válido na interface wlan0 (lembrando
que o nome pode ser diferente) significa que você ta conectado!!!
Agora que fizemos o pc se conectar, precisamos gravar as configurações no
arquivo /etc/network/interfaces
, para automatizar a conexão diretamente
no boot da máquina.
# WIRELESS auto wlan0 iface wlan0 inet dhcp #iface wlan0 inet static # address x.x.x.x # netmask x.x.x.x # gateway x.x.x.x # broadcast x.x.x.x # network x.x.x.x up wpa_supplicant -i wlan0 -c /etc/wpa_supplicant.conf -wB -D wext down killall wpa_supplicant
O -wB
é para que o comando rode em plano de fundo (background), up
significa que quando subir ele executará este comando e down
significa
que quando eu pedir para baixar a interface ele executará este comando.
O comando killall mata processos de acordo com o nome passado,
portanto se eu der um killall wpa_supplicant
eu mato o comando que fez a
interface subir, finalizando a conexão. Eu coloquei uma configuração
comentada para quem quer usar ip estático na rede lembrando que temos que
trocar o monte de x por números de ip válidos!
This policy contains information about your privacy. By posting, you are declaring that you understand this policy:
This policy is subject to change at any time and without notice.
These terms and conditions contain rules about posting comments. By submitting a comment, you are declaring that you agree with these rules:
Failure to comply with these rules may result in being banned from submitting further comments.
These terms and conditions are subject to change at any time and without notice.
Comentários