Rede Wireless com o wicd

A pouco mais de dois dias, instalando a nova versão do Kubuntu no notebook de minha esposa, me deparei com alguns problemas, com o NetworkManager, e a placa Atheros (ath5k). Depois de alguma pesquisa, encontrei o wicd, um aplicativo simples, independente do Gnome, embora use a GTK2, todo feito em Python. Somente por ser Python, já me convenceu a testar.

O que mais gostei de wicd, foi a simplicidade de se adicionar novas configurações para as diferentes encriptações existentes em redes wireless, com o uso de templetes simples. Embora ele já possua uma série de templetes para as encriptações básicas, as quais devem atender às necessidades gerais, sempre aparece algo diferente, principalmente em se tratando de tecnologias novas, como ocorre nas redes sem fio.

Os templetes existentes no wicd são os tipos de encriptação: eaptls, peap, ttls, wep-passphrase, wpa, eap, leap, peap-tkip, wep-hex, wep-shared, wpa-psk. Infelizmente nenhuma delas serviu para a rede sem fio da instituição em que trabalho, a UVV, o que me levou a conhecer um pouco mais este aplicativo.

O texto a seguir mostra como usar o wicd para conectar em uma rede sem fios e como se cria templetes para conexões especícifas. Ao final deste texto, seção ‘4. Script para instalar o templete wpa-uvv’, existe o link para um script que faz todo o trabalho: instalar, configurar, criar da templete UVV e instalar o templete.

1. Instalando o wicd

A instalação do wicd pode ser feita pelo aptitude, nos Debian e Ubuntu, mas antes atualize as informações dos pacotes. Aparentemente, o wicd entrou em última hora na lista de pacotes.

aptitude upgrade 
[prompt]aptitude install wicd

Isto deve instalar o wicd e iniciar o seu deamon. Na instalação, será removido o NetworkManager, já que o wicd irá fazer o gerenciamento da rede.

No Slackware, você pode usar o pacote wicd que se encontra no diretório extra do Slackware-12.2 ou do current. Por se tratar de um aplicativo em Python, esta versão deve funcionar muito bem no Slamd64 também. Instale-o com o installpkg e inicie o deamon em /etc/rc.d:

cd cd_de_instalação_do_Slackware
[prompt]installpkg extra/wicd/wicd-1.5.9-noarch-1.tgz
[prompt]chmod +x /etc/rc.d/rc.wicd
[prompt]/etc/rc.d/rc.wicd start

O próximo passo é criar um templete para a sua rede, caso os existentes não lhe sirvam.

2. Criando um templete

Um templete deve possuir as informações necessárias para o wicd, criar o seu próprio wpa_supplicant.conf e ser utilizado em sua interface gráfica. Para simplificar o processo, utilize como modelo um arquivo de configuração do wpa_supplicant, que, comprovadamente, funcione na rede desejada. O arquivo que uso no wpa_supplicant na rede da UVV, é apresentado abaixo:

ctrl_interface=/var/run/wpa_supplicant
ctrl_interface_group=20
update_config=1

network='laboratorio.uvv'
proto=WPA
key_mgmt=WPA-EAP
pairwise=TKIP
eap=TLS
identity='1234'
private_key_passwd='uvv'
private_key='1234 - Fulano'

O certificado usado na UVV, é distribuído em um arquivo na forma ‘1234 – Fulano.pfx’. Onde ‘1234′ é a identidade do usuário (identity). Segundo um amigo, o Leomar, não se deve mudar o nome deste arquivo. Embora não o leve muito a sério, confesso que nunca tive a curiosidade de testar o contrario.

Para o wicd gerar um arquivo de configuração parecido, é necessário criar o templete para este modelo. O processo é bem simples e está explicado com bastante detalhes no texto templetes.php, na página oficial do projeto wicd. Apenas vou adaptá-lo ao templete para a rede sem fios da UVV. Para os menos interessados, ao final deste texto apresento umscript para fazer o templete e instalá-lo do wicd.

Inicialmente copie o wpa_supplicant.conf apresentado acima, para o diretório dos templetes do wicd, com algum nome sugestivo para a sua rede.

cp  wpa_supplicant.conf \
/etc/wicd/encryption/templates/wpa-uvv

Em seguida edite o templete para colocar os nomes das variáveis, necessárias para o wicd identificar os campos. O templete deve ficar igual ao apresentado abaixo:

ctrl_interface=/var/run/wpa_supplicant
ctrl_interface_group=20
update_config=1
network={
        ssid='$_ESSID'
        proto=WPA
        key_mgmt=WPA-EAP
        pairwise=TKIP
        eap=TLS
        identity='$_IDENTITY'
        private_key='$_PRIVATE_KEY'
        private_key_passwd='$_PRIVATE_KEY_PASSWD'
}

As edições são apresentadas em vermelho. Embora no texto oficial do wicd, as aspas duplas não seja colocada, somente funcionou comigo depois de colocá-las. Para terminar, adicione a identificação e mais algumas informações ao cabeçalho do templete, como abaixo:

name = EAP - UVV
author = Nome do autor
version = 1
require identity *Identity private_key *Path_to_Private_Key private_key_passwd *Private_Key_Password
-----
ctrl_interface=/var/run/wpa_supplicant
ctrl_interface_group=20
update_config=1
network={
        ssid='$_ESSID'
        proto=WPA
        key_mgmt=WPA-EAP
        pairwise=TKIP
        eap=TLS
        identity='$_IDENTITY'
        private_key='$_PRIVATE_KEY'
        private_key_passwd='$_PRIVATE_KEY_PASSWD'
}

Atenção com a linha require. Está linha está quebrada em duas por limitação de colunas no texto, mas todo o conteúdo deve ficar em uma única linha. É nesta linha onde é declarado o link entre as variáveis do templete e do wicd. As correspondências são apresentadas na tabela abaixo, segundo o texto do wicd:

[TABLE=11]

No templete da UVV foram usados apenas as variáveis marcadas com o √. Para terminar, é necessário comunicar ao wicd para adicionar este templete ao seus templetes de configuração. Isto é feito, adicionando o nome do arquivo, wpa-uvv, ao arquivo /etc/wicd/encryption/templates/active.

echo 'wpa-uvv' >> /etc/wicd/encryption/templates/active

Não confunda o redirecionador > com o >>, pois pode gerar um desastre aqui. Mas se isto acontecer, use a linha abaixo para corrigir o erro.

ls /etc/wicd/encryption/templates/ | \
sed '/^active/ d; /~/ d; s/*//' > /etc/wicd/encryption/templates/active

Agora é hora de configurar a rede sem fio com o wicd. Neste momento, é possível que seja necessário reiniciar o deamon do wicd. No Ubuntu e semelhantes,

/etc/init.d/wicd restart

No Slackware e Slamd64,

/etc/rc.d/rc.wicd restart

Depois disto, reinicie o cliente do wicd

ps aux | awk '/wicd-client.py/ { print $2 }' \
| head -1 | xargs kill -9
[prompt]wicd

ou o ambiente gráfico com um CONTROL+ALT+BACKSPACE. Se mesmo após isto o wicd não funcione adequadamente, reinicie a máquina.

3. Configurando a Rede wireless

Com tudo pronto, chame o wicd, clicando no ícone na área de processos em background, como indicado no círculo verde na Figura 1 abaixo:

Figura 01: Ícone da interface do wicd
Figura 01: Ícone da interface do wicd

Ou através do comando wicd: Alt+F2, digite wicd e ENTER. Isto deve abrir o diálogo de configuração do wicd, que deve ter uma aparência semelhante à Figura 2.

Figura 02: Diálogo do wicd
Figura 02: Diálogo do wicd

Selecione a rede laboratorio.uvv, para abrir as opções de configuração, conforme a Figura 3. Em seguida marque ‘Conectar automaticamente a esta rede’, para conexão automática e pressione o botão ‘Configurações Avançadas’.

Figura 3: Opções de configuração
Figura 3: Opções de configuração

A Figura 4 ilustra o diálogo de configuração da Rede. Selecione as opções ‘Use essas configurações para todas as redes compartilhando esse essid’, útil quando se tem vários APs para ser vir a mesma rede, e ‘Usar Encriptação’. Em seguida selecione o templete ‘EAP – UVV’. Em Identidade, identity, coloque o número de sua matrícula, conforme aparece no início de seu certificado. Em ‘Path to Private Key’, o caminho completo para o seu certificado. Um bom lugar para guardar os certificados seria em algo como /etc/wicd/certificate/. Em ‘Private Key Password’, coloque a senha da rede UVV, ‘uvv’. Tecle OK para fechar.

Figura 4: Configurando a Rede
Figura 4: Configurando a Rede

Para terminar, clique em ‘Conectar’, Figura 5. O status do processo aparece na parte inferior do diálogo. Se tiver algum problema, habilite o modo debug em ‘Preferências → Habilitar Modo Debug’ e acompanhe o arquivo de log do wicd em /var/log/wicd/wicd.log.

Figura 5: Iniciando a conexão
Figura 5: Iniciando a conexão

4. Script para instalar o templete wpa-uvv

ATENÇÃO 1:Este script é experimental e, embora tenha sido feito com todo o cuidado para não danificar a sua instalação, pode não gerar o resultado desejado. Caso tenha algum problema favor entrar em contado, para que possamos melhorá-lo.

ATENÇÃO 2:Devido a forma de autenticação do proxy da UVV, este script não irá funcionar na rede cabiada da mesma. Se tiver que instalá-lo pela rede da UVV, levante a rede sem fios manualmente antes de executar este script.

Se achou tudo muito complicado, baixe o script em wicd-uvv-templete.tar.bz2, e exetute-o em um console, como root. Os comandos a segui fazem o trabalho para você:

wget http://localhost/linux/wicd-templete/wicd-uvv-html.tar.bz2
[prompt]tar xf wicd-uvv-html.tar.bz2
[prompt]cd wicd-uvv-html/
[prompt]. ./wicd-uvv-templete
...

Ou a linha abaixo:

wget http://localhost/linux/wicd-templete/wicd-uvv-install && . ./wicd-uvv-install

O script irá baixar e instalar o pacote para as distribuições Slackware, Slamd64, Ubuntu-like e Debian. Observe as insformações passadas pelo script. Após terminar e instalação, inicie o cliente do wicd com o procedimento: ALT+F2 e tecle ‘wicd’ + ENTER.

Termine a configuração, seguindo as instruções na seção ‘3. Configurando a Rede wireless’, acima.

Por: Rudson R. Alves
Professor da UVV

Este post tem 5 comentários

  1. Luiz

    Caro Prof Rudson,

    Sou estudante da UVV e uso o Ubuntu,
    Tentei configurar conforme as instruções de seu tutorial, mas não consegui.
    Tentei também ter acesso ao script que o senhor postou na página, mas ele não está acessível.

    Se puder deixar o script acessível, talvez eu consiga configurar meu lap top para ter acesso à internet via linux.
    Desde já, agradeço.
    Luiz

  2. Fabricio

    A instalação do wicd deu certo, reconhece os sinais, mas sou novo no linux não conheci acessar a net. Onde coloco o login e senha de meu acesso ?

  3. Antonio Carlos R. Nogueira

    Me desculpe mas gostaria que me sanasse algumas dúvidas. A rede que eu quero acessar eu só conheço o ESSID e a senha da mesma. Eu não sei onde encontrar o número de matrícula bem como o path para o certificado. Aliás, onde eu encontro o certificado? Se puderes me ajudar agradeço.

  4. rudsonalves

    Olá Antônio. O certificado você deve solicitar ao DTI, sem ele não é possível configurar a rede na UVV.

Deixe um comentário

Esse site utiliza o Akismet para reduzir spam. Aprenda como seus dados de comentários são processados.