19.3. Rede Sem Fio (Wireless)

Escrito por Eric Anderson.

19.3.1. Introdução

Pode ser muito útil a possibilidade de usar um computador sem o incômodo de ter um cabo de rede conectado o tempo todo. O FreeBSD pode ser usado como um cliente sem fio e até mesmo como um ``ponto de acesso'' sem fio.

19.3.2. Modos de Operação Sem Fio

Há duas formas diferentes de configurar dispositivos sem fio 802.11: BSS e IBSS.

19.3.2.1. Modo BSS

BSS é o modo tipicamente utilizado. O modo BSS é também chamado de modo infra-estrutura. Neste modo, uma quantidade de pontos de acesso sem fio está conectada a uma rede cabeada. Cada rede sem fio tem seu próprio nome. Este nome é chamado SSID da rede.

Clientes sem fio conectam-se a estes pontos de acesso. O padrão IEEE 802.11 define o protocolo que redes sem fio usam para conexões. Um cliente sem fio pode ser ligado a uma rede específica, quando um SSID é configurado. Um cliente sem fio também pode conectar-se a qualquer rede desde que não configure explicitamente um SSID.

19.3.2.2. Modo IBSS

O modo IBSS, também chamado modo ad-hoc, é projetado para conexões ponto-a-ponto. Existem, de fato, dois tipos de modo ad-hoc. Um é o modo IBSS, também chamado de ad-hoc ou modo ad-hoc do IEEE. Este modo é definido pelos padrões IEEE 802.11. O segundo modo é chamado modo ad-hoc demo ou modo ad-hoc da Lucent (e, às vezes, confusamente, modo ad-hoc). Este é o antigo modo ad-hoc, pré-802.11 e somente deve ser usado em instalações legadas. Não iremos abordar nenhum dos modos ad-hoc mais adiante.

19.3.3. Modo Infra-estrutura

19.3.3.1. Pontos de Acesso

Pontos de acesso são dispositivos de rede sem fio que permitem um ou mais clientes sem fio utilizar o dispositivo como um concentrador central. Ao usar um ponto de acesso, todos os clientes comunicam-se através do ponto de acesso. Múltiplos pontos de acesso são freqüentemente usados para cobrir uma área completa como uma casa, negócio ou parque, com uma rede sem fio.

Pontos de acesso tipicamente possuem múltiplas conexões de rede: o cartão sem fio e um ou mais adaptadores Ethernet para conexão ao resto da rede.

Pontos de acesso podem ser comprados montados ou você pode construir o seu próprio com FreeBSD e um cartão sem fio suportado. Diversos fornecedores fazem pontos de acesso sem fio e cartões sem fio com características variadas.

19.3.3.2. Construindo um Ponto de Acesso FreeBSD

19.3.3.2.1. Requisitos

Para ativar um ponto de acesso com FreeBSD, você precisa ter uma placa sem fio compatível. Atualmente, somente são suportadas as placas com o chipset Prism. Você também vai precisar de uma placa de rede com fio suportada pelo FreeBSD (não deve ser difícil encontrar, o FreeBSD suporta diversos diferentes dispositivos). Neste guia, vamos assumir que você deseja fazer uma ponte (bridge(4)) de todo o tráfego entre o dispositivo sem fio e a rede conectada na placa de rede com fio.

A funcionalidade hostap que o FreeBSD usa para implementar o ponto de acesso funciona melhor com certas versões de firmware. Placas Prism 2 devem usar o firmware versão 1.3.4 ou mais recente. Placas Prism 2.5 e Prism 3 devem usar o firmware 1.4.9. Versões anteriores de firmware podem ou não funcionar corretamente. Neste momento, a única forma de atualizar placas é com ferramentas de atualização para Windows® disponibilizadas pelo fabricante de sua placa.

19.3.3.2.2. Ativando o Ponto de Acesso

Primeiro, certifique-se de que seu sistema reconhece a placa sem fio:

# ifconfig -a
wi0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
    inet6 fe80::202:2dff:fe2d:c938%wi0 prefixlen 64 scopeid 0x7
    inet 0.0.0.0 netmask 0xff000000 broadcast 255.255.255.255
    ether 00:09:2d:2d:c9:50
    media: IEEE 802.11 Wireless Ethernet autoselect (DS/2Mbps)
    status: no carrier
    ssid ""
    stationname "FreeBSD Wireless node"
    channel 10 authmode OPEN powersavemode OFF powersavesleep 100
    wepmode OFF weptxkey 1

Não se preocupe com os detalhes agora, apenas certifique-se de que algo é mostrado, indicando que você tem uma placa sem fio instalada. Se você tiver problemas em encontrar a interface sem fio e estiver usando um PC card, você pode querer verificar as páginas de manual pccardc(8) e pccardd(8) para maiores informações.

A seguir, você vai precisar carregar um módulo para ter o FreeBSD funcionando como ponte e pronto para o ponto de acesso. Para carregar o módulo bridge(4), simplesmente execute o comando:

# kldload bridge

Não deve ser mostrado nenhum erro ao se carregar o módulo. Se houve algum, talvez você precise compilar o código bridge(4) no kernel do seu sistema. A seção Ligação do handbook deve ajudá-lo a executar esta tarefa.

Agora que você tem a parte de ligação pronta, precisamos dizer ao kernel do FreeBSD quais interfaces deve ligar. Fazemos isto usando sysctl(8):

# sysctl net.link.ether.bridge=1
# sysctl net.link.ether.bridge_cfg="wi0 xl0"
# sysctl net.inet.ip.forwarding=1

Agora é a hora de configurar a placa sem fio.

O seguinte comando vai ativar a placa como um ponto de acesso:

# ifconfig wi0 ssid my_net channel 11 media DS/11Mbps mediaopt hostap up stationname "FreeBSD AP"
    

A linha ifconfig(8) ativa a interface wi0, configura seu SSID para my_net, e ajusta o nome da estação para FreeBSD AP. A opção media DS/11Mbps configura a placa em modo 11Mbps e é necessária para qualquer parâmetro mediaopt ter efeito. A opção mediaopt hostap coloca a interface em modo ponto de acesso. A página de manual wicontrol(8) tem as opções válidas para canais de seu controlador de domínio.

Agora você deve ter um ponto de acesso completamente funcional ativado e funcionando. Recomendamos a leitura de wicontrol(8), ifconfig(8), e wi(4) para maiores informações.

Também é sugerido que você leia a seção sobre criptografia a seguir.

19.3.3.2.3. Informações de Estado

Uma vez que o ponto de acesso está configurado e operacional, os operadores vão querer ver os clientes associados ao ponto de acesso. Em qualquer momento, o operador pode digitar:

# wicontrol -l
1 station:
00:09:b7:7b:9d:16 asid=04c0, flags=3<ASSOC,AUTH>, caps=1<ESS>, rates=f<1M,2M,5.5M,11M>, sig=38/15

Isto mostra que há uma estação associada, junto com seus parâmetros. O sinal indicado deve ser usado somente como uma indicação relativa de potência. Sua tradução para dBm ou outras unidades variam entre diferentes revisões de firmware.

19.3.3.3. Clientes

Um cliente sem fio é um sistema que acessa um ponto de acesso ou outro cliente diretamente.

Tipicamente, os clientes sem fio possuem somente um dispositivo de rede, a placa de rede sem fio.

Existem algumas poucas formas diferentes de configurar um cliente sem fio. Estas configurações são baseadas nos diferentes modos sem fio, geralmente BSS (modo infra-estrutura, que requer um ponto de acesso), e IBSS (ad-hoc, ou modo ponto-a-ponto). Em nosso exemplo, vamos usar o mais popular dos dois, modo BSS, para comunicação com um ponto de acesso.

19.3.3.3.1. Requisitos

Há somente um único requisito real para ativar o FreeBSD como um cliente sem fio. Você precisa de uma placa sem fio suportada pelo FreeBSD.

19.3.3.3.2. Ativando um Cliente FreeBSD Sem Fio

Antes de começar, precisa saber algumas coisas sobre a rede sem fio à qual estará se conectando. Neste exemplo, estamos nos conectando a uma rede que tem o nome de my_net, e criptografia desligada.

Neste exemplo, não estamos usando criptografia o que é uma situação de perigo. Na próxima seção, você aprenderá como ativar criptografia, porque é importante fazê-lo e porque algumas tecnologias de criptografia ainda não o protegem completamente.

Certifique-se de que sua placa é reconhecida pelo FreeBSD:

# ifconfig -a
wi0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
    inet6 fe80::202:2dff:fe2d:c938%wi0 prefixlen 64 scopeid 0x7
    inet 0.0.0.0 netmask 0xff000000 broadcast 255.255.255.255
    ether 00:09:2d:2d:c9:50
    media: IEEE 802.11 Wireless Ethernet autoselect (DS/2Mbps)
    status: no carrier
    ssid ""
    stationname "FreeBSD Wireless node"
    channel 10 authmode OPEN powersavemode OFF powersavesleep 100
    wepmode OFF weptxkey 1

Agora vamos configurar a placa com os parâmetros corretos para nossa rede:

# ifconfig wi0 inet 192.168.0.20 netmask 255.255.255.0 ssid my_net

Substitua 192.168.0.20 e 255.255.255.0 com um endereço IP e máscara de subrede válidos em sua rede com fio. Lembre-se que nosso ponto de acesso está fazendo a ligação (ponte) de dados entre a rede sem fio e a rede com fio, de forma que vai parecer aos outros dispositivos na rede que você está na rede com fio, assim como eles.

Feito isto, você deve ser capaz de usar ping nos sistemas na rede com fio assim como se estivesse conectado usando uma conexão padrão, com fio.

Se estiver com problemas em sua conexão sem fio, certifique-se que está associado (conectado) ao ponto de acesso:

# ifconfig wi0

deve retornar alguma informação, e vocÊ deve ver:

status: associated

Se não mostrar que está associado, então você deve estar fora de alcance do ponto de acesso, estar sem criptografia ativada, ou possivelmente tem um problema de configuração.

19.3.3.4. Criptografia

Criptografia em uma rede sem fio é importante porque você não mais terá a capacidade de manter a rede contida em uma área bem protegida. Seus dados sem fio serão transmitidos através de toda a sua vizinhança, então quem quiser poderá ler seus dados. Aqui entra a criptografia. Criptografando os dados transmitidos por ondas aéreas, você torna muito mais difícil a qualquer um capturar seus dados do ar.

As duas formas mais comuns de criptografar os dados entre seu cliente e o ponto de acesso são WEP, e ipsec(4).

19.3.3.4.1. WEP

WEP é uma abreviação para Protocolo para Equivalência em Fio (Wired Equivalency Protocol). WEP é uma tentativa de tornar as redes sem fio tão seguras quanto uma rede com fio. Infelizmente, foi quebrado e é bem trivial quebrá-lo. Isto também significa que não é uma coisa para se contar quando se trata de criptografar dados sensíveis.

É melhor que nada, então faça o seguinte para ativar WEP em seu novo ponto de acesso FreeBSD:

# ifconfig wi0 inet up ssid my_net wepmode on wepkey 0x1234567890 media DS/11Mbps mediaopt hostap

E você pode ativar WEP em um cliente com este comando:

# ifconfig wi0 inet 192.168.0.20 netmask 255.255.255.0 ssid my_net wepmode on wepkey 0x1234567890

Note que você deve substituir o 0x1234567890 por uma chave mais exclusiva.

19.3.3.4.2. IPsec

ipsec(4) é uma ferramenta muito mais robusta e poderosa para criptografar dados através de uma rede. Esta é definitivamente a forma preferida de criptografar dados em uma rede sem fio. Você pode ler mais sobre segurança ipsec(4) e como implementá-la na seção IPsec do handbook.

19.3.3.5. Ferramentas

Há um pequeno número de ferramentas disponível para uso na determinação de problemas e ativação de sua rede sem fio, e aqui vamos tentar descrever algumas delas e o que fazem.

19.3.3.5.1. O Pacote bsd-airtools

O pacote bsd-airtools é um conjunto de ferramentas completo que inclui ferramentas de auditoria sem fio para quebrar chaves WEP, detectar pontos de acesso etc.

Os utilitários bsd-airtools podem ser instalados a partir do port net/bsd-airtools. Informações sobre como instalar ports podem ser encontradas em Capítulo 4 do handbook.

O programa dstumbler é a ferramenta no pacote que permite a descoberta de pontos de acesso e representação gráfica da razão entre sinal e ruído. Se você estiver com dificuldades para ativar seu ponto de acesso, dstumbler pode ajudá-lo a familiarizar-se.

Para testar a segurança de sua rede sem fio, você pode escolher usar ``dweputils'' (dwepcrack, dwepdump e dwepkeygen) para ajudá-lo a determinar se WEP é a solução adequada para suas necessidades de segurança sem fio.

19.3.3.5.2. Os Utilitários wicontrol, ancontrol e raycontrol

Estas são as ferramentas que você deve usar para controlar como sua placa sem fio se comporta na rede sem fio. Nos exemplos acima, escolhemos usar wicontrol(8), uma vez que nossa placa sem fio é uma interface wi0. Se você tivesse um dispositivo sem fio Cisco, ele apareceria como an0, e assim você deveria usar ancontrol(8).

19.3.3.5.3. O Comando ifconfig

O ifconfig(8) pode ser usado para fazer muitas das mesmas configurações que wicontrol(8), entretanto é desprovido de algumas poucas opções. Verifique ifconfig(8) para opções e parâmetros de linha de comando.

19.3.3.6. Placas Suportadas

19.3.3.6.1. Pontos de Acesso

As únicas placas que são suportadas atualmente para modo BSS (como um ponto de acesso) são dispositivos baseados nos chipsets Prism 2, 2.5 ou 3. Para uma lista completa, veja wi(4).

19.3.3.6.2. Clientes

Quase todas as placas sem fio 802.11b são suportadas atualmente pelo FreeBSD. A maioria das placas baseadas em Prism, Spectrum24, Hermes, Aironet e Raylink vão funcionar como uma placa de rede em modo IBSS (ad-hoc, ponto-a-ponto e BSS).

Este, e outros documentos, podem ser obtidos em ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/.

Para perguntas sobre FreeBSD, leia a documentação antes de contatar <questions@FreeBSD.org>.
Para perguntas sobre esta documentação, envie e-mail para <doc@FreeBSD.org>.