Configurar WPA no Slackware com wpa_supplicant

Publicado: 05/12/2010 em Uncategorized

Este post vai em homenagem ao meu cunhado Jeber que disse que vai utilizar o Slackware (ah, tah) e queria configurar o acesso a sua rede sem fio via WPA/WPA2.

Para configurar o WPA no Slackware é necessário primeiro utilizar o comando wpa_passphrase para gerar a senha da rede. Vamos a um exemplo, caso o nome da rede (essid) seja “minharede” e a senha seja “123abcdef” fazemos o seguinte:

# wpa_passphrase  minharede 123abcdef
network={
ssid=”minharede”
#psk=”123abcdef”
psk=00457b4e071614681d977e0d53edc0ba8bee473b2010fe0d77f370a6dc7afc8e
}

Como podemos ver isto irá gerar um texto que simboliza a rede (ssid) e a senha (psk), feito isto podemos colocar esta configuração no arquivo /etc/wpa_supplicant.conf. O conteúdo do arquivo original da instalação é:

# See /usr/doc/wpa_supplicant-0.6.10/wpa_supplicant.conf.sample
# for many more options that you can use in this file.

# This line enables the use of wpa_cli which is used by rc.wireless
# if possible (to check for successful association)
ctrl_interface=/var/run/wpa_supplicant
# By default, only root (group 0) may use wpa_cli
ctrl_interface_group=0
eapol_version=1
ap_scan=1
fast_reauth=1
#country=US

# WPA protected network, supply your own ESSID and WPAPSK here:
network={
scan_ssid=0
ssid=”your_essid_here”
proto=WPA RSN
key_mgmt=WPA-PSK
pairwise=CCMP TKIP
group=CCMP TKIP WEP104 WEP40
psk=your_64_char_psk_here
priority=10
}

# Plaintext connection (no WPA, no IEEE 802.1X),
# nice for hotel/airport types of WiFi network.
network={
key_mgmt=NONE
priority=0
}

Vamos deixar o arquivo da seguinte forma, anexando ao final o texto conseguido pelo wpa_passphrase:

# See /usr/doc/wpa_supplicant-0.6.10/wpa_supplicant.conf.sample
# for many more options that you can use in this file.

# This line enables the use of wpa_cli which is used by rc.wireless
# if possible (to check for successful association)
ctrl_interface=/var/run/wpa_supplicant
# By default, only root (group 0) may use wpa_cli
ctrl_interface_group=0
eapol_version=1
ap_scan=1
fast_reauth=1
#country=US

network={
ssid=”minharede”
#psk=”123abcdef”
psk=00457b4e071614681d977e0d53edc0ba8bee473b2010fe0d77f370a6dc7afc8e
}

Note que eu só deixei uma rede. Eu normalmente faço um arquivo de configuração por rede!

Após isto basta executar o comando:

#  wpa_supplicant -Dwext -iwlan0 -c/etc/wpa_supplicant.conf &

Quem tem dificuldade de lembrar de comandos muito longos, basta executar o comando wpa_supplicant que no final de sua saída tem o exemplo do comando que é exatamente este apresentado aqui (eu sempre faço isto)… Neste comando wlan0 é a placa de rede, então caso a sua seja outra você deve alterar esta opção, o final é o arquivo de configuração, caso você dê outro nome a este arquivo este parâmetro também deve ser alterado (neste caso /etc/wpa_supplicant). Estranhamente as opções são grudadas com os parâmetros, isto é assim mesmo… Eu tenho o costume de colocar & para executá-lo o comando em backgound.

Depois disto (caso se tenha IP’s automáticos via DHCP) execute:

#dhcpcd wlan0

Para obter as configurações de rede! Neste caso a placa de rede é a wlan0. Feito isto a rede deve estar funcionado.

Para ver a associação do cliente ao AP podemos executar o iwconfig:

# iwconfig
lo        no wireless extensions.

eth0      no wireless extensions.

wlan0     IEEE 802.11bgn  ESSID:”minharede”
Mode:Managed  Frequency:2.462 GHz  Access Point: 02:1B:11:E2:97:8A
Bit Rate=54 Mb/s   Tx-Power=20 dBm
Retry  long limit:7   RTS thr:off   Fragment thr:off
Encryption key:off
Power Management:on
Link Quality=45/70  Signal level=-65 dBm
Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0
Tx excessive retries:48  Invalid misc:22   Missed beacon:0

sit0      no wireless extensions.

Caso a wlan0 não tenha um AP associado (sem o MAC) provavelmente você está com problemas! Uma dica é verificar a senha (que você tem que saber) ou verificar o nome da rede que pode ser feito com o comando: iwlist wlan0 scan. A placa de rede deve estar ligada para este último comando (ifconfig wlan0 up).

Atenção algumas placas de redes mais antigas não suportam WPA!!!

 

Caso você tenha que para o dhcpcd ou o wpa_supplicant (em caso de erro ou de reconfiguração) faça respectivamente:

# dhcpcd wlan0 -k

# killall wpa_supplicant

 

Isto é importante por que não temos script de inicialização para estes serviços!

Por fim, é válido lembrar que dá para fazer isto, em alguns casos, pelo ambiente gráfico, mas quem é Slackware provavelmente vai gostar mais de fazer isto via comandos texto no console.

comentários
  1. PedroSilva disse:

    viva.
    como posso colocar isto em script ??
    coloquei isto no rc.local, mas fica pendurado ao executar # wpa_supplicant -Dwext -iwlan0 -c/etc/wpa_supplicant.conf &

    • profluizarthur disse:

      Estranho era para funcionar no rc.local…

      Mas eu geralmente faço um script dentro de /etc/rc.d/rc.wifi, por exemplo (isso no Slack) e ai deve iniciar sozinho! Acho que se vc chamar esse script no rc.local vi funcionar também.

      • PedroSilva disse:

        profluiz: já está a funcionar a 100%
        falhei ao escrever no rc.local, não escrevi como deveria ser.
        obrigado

Deixe uma resposta

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s