|
[07/10]
:. Publicado Amarok 2 beta 2 [07/10] :. Publicado Picasa 3.0 para Linux (beta) [07/10] :. Resumo do dia [07/10] :. Microsoft Surface SDK chega no final do mês [07/10] :. Google: não beba antes de enviar e-mails [07/10] :. Firefox para portáteis: versão alpha dentro de semanas [07/10] :. Intel Core i7 serão 52% mais rápidos que atuais Core 2 [06/10] :. Atualização do Puppy Linux, versão 4.1 [06/10] :. Lançado Mono 2.0 [06/10] :. Resumo do dia [06/10] :. Os cinco principais motivos do fracasso do Vista [06/10] :. Fusion-io prepara SSD super rápido para entusiastas [06/10] :. Celulares ganham telas com efeito 3D [04/10] :. O líquido mais caro do mundo [04/10] :. Western Digital comprará divisão de HDs da Fujitsu :. Mais noticias » |
Embora as versões mais recentes do WEP usadas nos pontos de acesso e placas atuais sejam mais seguras que as primeiras versões, elas ainda podem ser facilmente quebradas. Embora não seja infalível, o WPA é um padrão mais seguro, por isso é o preferido em redes onde a segurança é um fator importante. No Linux, o suporte ao WPA e ao WAP2 é fornecido pelo wpa_supplicant. Não importa se você está configurando a rede wireless usando o networkmanager, através módulo de configuração de rede no Mandriva Control Center, ou através de qualquer outra ferramenta de configuração. Por baixo dos panos é o wpa_supplicant que está fazendo o trabalho pesado. Como de praxe, é possível também configurá-lo manualmente, o que é útil em casos em que os utilitários de configuração não funcionam como deveriam, quando você está usando alguma distribuição onde eles não estão disponíveis ou se você simplesmente resolveu colocar a mão na massa e fazer as coisas manualmente. Para usá-lo é necessário que a placa wireless tenha sido detectada pelo sistema e o pacote "wpa_supplicant" esteja instalado. As versões recentes de todas as principais distribuições trazem o wap_supplicant instalado por padrão, mas você pode precisar instalá-lo manualmente ao usar versões antigas. Nas distribuições derivadas do Debian, você pode instalá-lo via apt-get:
Uma dica é que, ao usar o Ubuntu, você deve primeiro abrir o arquivo "/etc/apt/sources.list" e descomentar a linha referente ao repositório Universe, como em:
Depois de salvar o arquivo, rode o "apt-get update" e você poderá instalar o wpa_supplicant via apt-get, usando o mesmo comando do Debian. A partir do Ubuntu 6.6 ele já vem instalado por padrão, dispensando a instalação manual. No Fedora, instale-o usando o yum:
No Mandriva use o urpmi:
Com tudo instalado, o primeiro passo é criar o arquivo de configuração do wpa_supplicant, contendo o SSID e a passphrase da sua rede. É possível também criar uma configuração que permita conectar em várias redes diferentes, como veremos a seguir. Rode o comando "wpa_passphrase" seguido do SSID da rede e a passphrase (a senha), como em:
Ele retorna a configuração que deve ser incluída no arquivo, como em:
Note que ele inclui duas linhas "psk", onde vai a passphrase. A linha que está comentada contém sua passphrase real, enquanto a segunda contém um "hash" (verificador), que funciona da mesma forma, mas evita que você precise deixá-la disponível dentro do arquivo para qualquer um ver. Apague a linha comentada, deixando apenas a segunda linha, com o hash. Agora edite (ou crie) o arquivo "/etc/wpa_supplicant.conf", de forma que ele contenha apenas as linhas retornadas pelo comando. Se preferir, você pode usar também o comando abaixo (como root), que já modifica automaticamente o arquivo, matando os dois coelhos com uma cajadada só:
Agora vem o comando que ativa o wpa_supplicant, especificando a placa de rede que será usada, o arquivo de configuração que acabamos de criar e o driver que será usado:
O "wlan0" no comando indica a interface de rede, e naturalmente deve ser alterado conforme necessário. O "wext" é o driver (interno do wpa_supplicant) que será usado. Atualmente, o driver wext é usado em quase todos os casos, inclusive no caso de placas configuradas através do ndiswrapper (usando o driver do Windows) e no caso das placas com chipset Intel. A única exceção fica por conta das placas com chipset Atheros, onde você deve substituir o "wext" por "madwifi". De qualquer forma, aqui vai a lista de todos os drivers disponíveis, que você pode testar em casos de problemas. Tenha em mente que os drivers "ndiswrapper" e "ipw" contém versões obsoletas de funções já incluídas no driver "wext". ndiswrapper: Driver antigo para placas ativadas através do ndiswrapper, que são atualmente suportadas de forma mais completa através do wext. Note que muitas placas funcionam perfeitamente no Ndiswrapper em redes sem encriptação ou WEP, mas ficam instáveis ao usar o WPA, justamente porque ele utiliza mais camadas e por isso tem uma possibilidade maior de apresentar problemas diversos. ipw: Driver antigo para as placas com os chipsets Intel IPW2100 e IPW2200, usadas nos notebooks Intel Centrino. Assim como no caso do ndiswrapper, o driver foi incorporado ao wext nas versões recentes do wpa_supplicant. De qualquer forma, o ipw continua disponível e você pode experimentar ambos caso esteja tendo problemas para ativar a placa. madwifi: Este é o driver para placas com chipset Atheros que citei a pouco. Estas placas estão entre as poucas que não funcionam em conjunto com o driver wext. Elas são detectadas pelo sistema como "ath0", de forma que o comando ficaria: 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 (nesse caso você usaria o driver "wext"). Cheque a forma como a placa está configurada no seu micro. 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, Hermes II e Atmel. Por causa da opção "-d" que incluímos no comando anterior, o wpa_supplicant é executado em modo verbose, onde são mostrados detalhes sobre a conexão com o ponto de acesso. Este modo é interessante para descobrir problemas. Se a conexão for bem-sucedida, você terá (depois de uma rápida sucessão de mensagens), algo como:
Estas mensagens indicam que ele se conectou ao ponto de acesso com o endereço MAC "00:50:50:81:81:01" e que a conexão está disponível para transmitir dados. Para confirmar, rode o comando "iwconfig" que mostrará algo como:
lo no wireless extensions.
eth0 no wireless extensions. eth1 IEEE 802.11g ESSID:"casa" Mode:Managed Frequency:2.447 GHz Access Point: 00:50:50:81:81:01 Bit Rate=54 Mb/s Tx-Power:32 dBm RTS thr=2347 B Fragment thr=2346 B Encryption key: Security mode:restricted Power Management:off Link Quality:65/100 Signal level:-54 dBm Noise level:-96 dBm Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0 Tx excessive retries:0 Invalid misc:0 Missed beacon:0 Isso significa que ele se conectou com sucesso ao ponto de acesso. A partir daí, você precisa apenas configurar os parâmetros da rede (IP, máscara, gateway e DNS) usando a ferramenta apropriada para que a conexão fique disponível. Se, por outro lado, você receber mensagens como:
ou:
... significa que a conexão não foi estabelecida. Pode ser que o seu notebook está muito longe do ponto de acesso, fora da área de alcance ou mesmo que o transmissor da placa wireless do notebook está desativado. Caso o ponto de acesso tenha sido configurado para não divulgar o SSID, experimente encerrar o wpa_supplicant, definir o SSID da rede manualmente usando o iwconfig e em seguida iniciá-lo novamente, como em:
Se a conexão passa a ser bem sucedida, lembre-se de adicionar o comando do iwconfig no script de conexão, de forma que ele passe a ser executado automaticamente antes do wpa_supplicant (mais detalhes a seguir). Existem ainda casos de drivers com bugs diversos que realmente impedem a conexão, como é o caso de diversas versões antigas do driver madwifi (para placas com chipset Atheros). Nesses casos, o melhor é simplesmente ativar a divulgação do SSID na configuração do ponto de acesso. Esconder o SSID oferece um pequeno ganho de segurança, mas basta esperar que qualquer cliente transmita dados para capturar o SSID, junto com o endereço MAC do cliente e do ponto de acesso usando o Kismet ou o Airmon, de forma que não vale à pena sacrificar a funcionalidade para manter o SSID escondido. Continuando, no caso da segunda mensagem, é provável que o driver indicado na linha de comando esteja incorreto ou que não suporte o WPA. Este é o caso de muitas placas configuradas através do Ndiswrapper (por exemplo) ou casos em que você tenta usar o driver "wext" em uma placa que possui um driver específico, como as placas Atheros (madwifi). Depois de testar e ver que a conexão está funcionando corretamente, você pode passar a usar o comando abaixo, trocando o "-d" por "-B". Isso faz com que o wpa_supplicant rode em modo daemon, sem bloquear o terminal nem mostrar mensagens na tela:
Ativando o wpa_supplicant no boot Se você usa o Ubuntu, Kubuntu ou qualquer outra distribuição derivada do Debian, abra o arquivo "/etc/network/interfaces". Adicione as duas linhas abaixo, contendo os parâmetros do wpa_supplicant, no final do arquivo. Note que agora adicionamos também a opção "w", específica para uso em scripts de inicialização:
Lembre-se de substituir o "wlan0" e "wext" pelos parâmetros corretos no seu caso. Para que fique tudo certo, o arquivo deve conter também uma seção com os endereços usados pela placa. Veja um exemplo de arquivo completo:
# /etc/network/interfaces
auto lo wlan0 iface lo inet loopback iface wlan0 inet static address 192.168.1.56 netmask 255.255.255.0 network 192.168.1.0 broadcast 192.168.1.255 gateway 192.168.1.254 pre-up wpa_supplicant -i wlan0 -c /etc/wpa_supplicant.conf -wB -D wext post-down killall -q wpa_supplicant Como de praxe, ao usar esse exemplo como modelo, preste atenção para substituir todos os "wlan0" pela interface correta no seu caso e ajustar os endereços de acordo com a configuração da sua rede. Como pode ver, a primeira linha indica a localização do arquivo de configuração do wpa_supplicant. Se você ainda não o criou, aproveite para fazê-lo usando o comando que vimos a pouco: wpa_passphrase minharede minhapassphrase > /etc/wpa_supplicant.conf. Se o ponto de acesso foi configurado para esconder o SSID e você só consegue se conectar à rede usando o comando manual do iwconfig, adicione a linha "wireless-essid casa" (onde o "casa" é o SSID desejado) na seção com a configuração da interface de rede, como em:
No Fedora, o wpa_supplicant roda como um serviço de rede, que é configurado através do arquivo "/etc/sysconfig/wpa_supplicant". Ele é criado automaticamente quando o pacote é instalado, com o seguinte conteúdo:
# wlan0 and wifi0
# INTERFACES="-iwlan0 -iwifi0" INTERFACES="-iwlan0" # ndiswrapper and prism # DRIVERS="-Dndiswrapper -Dprism" DRIVERS="-Dndiswrapper"
Como pode ver, o arquivo contém a interface que deve ser monitorada e o driver que deve ser usado. Você precisa apenas editá-lo, de forma a incluir as informações corretas. Os comentários são apenas para informação e podem ser removidos, como em:
# /etc/sysconfig/wpa_supplicant<
INTERFACES="-iwlan0" DRIVERS="-Dwext"
Falta agora editar o arquivo "/etc/wpa_supplicant/wpa_supplicant.conf" que é usado pelo serviço para armazenar a configuração. Ele é também criado ao instalar o pacote, inicialmente com o seguinte conteúdo:
ctrl_inter>ctrl_interface_group=wheel
network={ ssid="any" key_mgmt=NONE } Use o comando "wpa_passphrase minharede minhapassphrase" para gerar a configuração apropriada para a sua rede e insira as linhas no arquivo, sem apagar as duas primeiras, como em:
# /etc/wpa_supplicant/wpa_supplicant.conf
ctrl_inter>ctrl_interface_group=wheel network={ ssid="minharede" psk=24b0d83ee1506019e87fcf1705525ca60abbd9b24ac5bedf183620d0a22ab924 } Depois de feita a configuração, use o comando "service wpa_supplicant restart" para reiniciar o serviço, de forma que as alterações sejam aplicadas. Aproveite também para certificar-se de que ele será carregado durante o boot, usando o comando chkconfig: # service wpa_supplicant restart
# chkconfig wpa_supplicant on Concluindo, falta apenas editar o arquivo com a configuração da placa de rede, dentro da pasta "/etc/sysconfig/network-scripts". Se a interface wireless é a "wlan0", o arquivo será o "/etc/sysconfig/network-scripts/ifcfg-wlan0". Ele deve conter as linhas "ONBOOT=yes", "Type=Wireless" e "MODE=Managed", como em:
#/etc/sysconfig/network/network-scripts/ifcfg-wlan0
DEVICE=wlan0 IPADDR=192.168.1.21 NETMASK=255.255.255.0 GATEWAY=192.168.1.1 BOOTPROTO=static ONBOOT=yes Type=Wireless MODE=Managed ou:
#/etc/sysconfig/network/network-scripts/ifcfg-wlan0
DEVICE=wlan0 BOOTPROTO=dhcp ONBOOT=yes Type=Wireless MODE=Managed Se você precisar indicar manualmente o SSID da rede, evitando o bug do wpa_supplicant ao se conectar em pontos de acesso que não divulgam o SSID, adicione também a linha "ESSID=xxxx", como em:
#/etc/sysconfig/network/network-scripts/ifcfg-wlan0
DEVICE=wlan0 BOOTPROTO=dhcp ONBOOT=yes Type=Wireless MODE=Managed ESSID=minharede Ao editar o arquivo, não se esqueça de reiniciar o serviço responsável pela configuração das interfaces para que a nova configuração seja carregada:
Uma observação importante é que, ao ser configurado para rodar em background, o wpa_supplicant ficará o tempo todo tentando se conectar às redes wireless configuradas. Se você quiser se conectar a uma rede cabeada, deverá (além de configurar a rede), desativar o wpa_supplicant, usando o comando:
Opções avançadas Neste caso, você deve especificar cada uma das redes no arquivo "/etc/wpa_supplicant.conf" (ou /etc/wpa_supplicant/wpa_supplicant.conf), juntamente com um "peso" ou prioridade para cada uma. O arquivo poderia conter uma entrada para a rede da sua casa, que usa WPA, a rede do escritório, que usa WEP, e uma entrada para redes públicas, sem encriptação. O restante da configuração continua igual ao que já vimos. A rede de casa pode ter peso 5, a do escritório ter peso 3 e as redes públicas terem peso 1, de forma que ele dá prioridade às duas redes e tenta se conectar a qualquer rede pública disponível caso nenhuma das duas seja encontrada. Neste caso o arquivo ficaria:
# Rede de casa, com WPA (esta é a entrada gerada pelo wpa_passphrase)
network={ ssid="casa" psk=2ceaa0388fa863213f5f527055846101dc449c9a569c1e43ea535a3344d3dc32 priority=5 } # Rede do escritório, com WEP: network={ ssid="escritorio" key_mgmt=NONE wep_key0=ADADA54321 wep_tx_keyidx=0 priority=3 } # Redes públicas, sem encriptação network={ ssid="" key_mgmt=NONE priority=1 }
Note que incluí a linha "priority", dentro de cada uma das entradas, especificando a prioridade de cada uma. As redes com prioridade mais alta são testadas primeiro, deixando a entrada para redes públicas como último recurso. No caso da entrada para redes WEP, você substituiria apenas o SSID e a chave de encriptação pelos valores corretos, mantendo as linhas "key_mgmt=NOME" e "wep_tx_keyidx=0", que fazem parte da configuração. Concluindo, o wpa_supplicant oferece também suporte ao WPA Enterprise, com o uso de um servidor de autenticação e certificados. Este é um exemplo de configuração que você usaria no arquivo "/etc/wpa_supplicant.conf":
Note que nesse caso é necessário indicar a localização dos certificados, que devem ser previamente instalados no HD (do cliente), além de fornecer o login e senha.
|
||||||||