Slackware 14 - Roteamento com duas placas wireless

A proposta do artigo, é ilustrar a implementação de um projeto de compartilhamento de internet usando duas placas de rede sem fio com
roteamento virtual (hostapd) no Slackware 14 64 bits.

[ Hits: 15.586 ]

Por: Eduardo Walzburger em 18/10/2012


Instalação



Sugiro clicar na versão mais atualizada do hostapd, depois em "hostapd.tar.gz".

Na linha de comando, sem ser superusuário, no diretório em que o hostapd foi baixado:

tar -zvxf hostapd.tar.gz

Posteriormente, depois de descompactado, clicar em "hostapd-<versão mais nova>.tar.gz" e salve-o no diretório criado a partir da descompactação, o hostapd/. A partir deste diretório, como superusuário, façamos:

# ./hostapd.SlackBuild

Depois é só instalar o arquivo criado, com installpkg, por exemplo. No meu caso, teremos:

# installpkg /tmp/hostapd-0.6.10-x86_64-1_SBo.tgz

Configurando o hostapd

Com a instalação, é criado o diretório /etc/hostapd/ que contém arquivos para configuração. Há um arquivo no qual encontramos configurações genéricas, o "hostapd.conf", mas que possui 1025 linhas, o que torna sua manipulação pouco plausível.

Isto pois, na eventualidade da ocorrência de erros (e eles ocorrerão), será demorada sua alteração. A sugestão da Carla e dos outros autores, como André e Ademar Arvati Filho é modificar o nome do arquivo em questão e criar outro "hostapd.conf":

# cd /etc/hostapd/
# mv hostapd.conf hostapd.conf.orig
# vi hostapd.conf


Sim, gosto de editar com o Vi (cada um com suas excentricidades). Se escolheram este editor, lembrá-los-ei do básico:

Clicar uma vez na tecla "Insert" Entra com caracteres.
Clicar outra vez na tecla "Insert" Entra com caracteres sobrescrevendo-os.
Tecla "ESC" Sai da função de edição e vai para a dos comandos.
:wq Salva o arquivo e sai do editor.
:q! Sai do editor sem salvar.


Dadas as características da wlan0 e do sistema, o meu "hostapd.conf" ficou deste jeito:

interface=wlan0
driver=nl80211
ssid=quasar
hw_mode=g
channel=13
wpa=3
wpa_psk=e7d6ab5d58eb6cea975fed6d0c717a6f0de6e96db65f8d11abe80530694bfe90
#wpa_psk_file=/etc/hostapd/hostapd.wpa_psk
wpa_key_mgmt=WPA-PSK
wpa_pairwise=CCMP TKIP
rsn_pairwise=CCMP TKIP
ctrl_interface=/var/run/hostapd
ctrl_interface_group=0
auth_algs=1#


A interface que eu escolhi foi a wlan0, como havia dito. O driver para a wlan0 foi o "nl80211". Como descobri? Tentativa e erro, dentro do rol apresentado pelo agora "hostapd.conf.orig".

Pertencem a este rol, na atual versão do hostapd, os seguintes drivers:
  • hostap
  • wired
  • madwifi
  • prism54
  • test
  • none
  • nl80211
  • bsd

Com o citado comando hwinfo já utilizado, pode-se obter as informações necessárias para configurar hw_mode, channel e WPA. Como sugerem Carla e André, utiliza-se o comando wpa_passphrase para a geração de chaves criptografadas de 256 bits para senhas de texto simples.

Por exemplo, num SSID de nome "quasar" com uma senha "nerdhijodeunamadre", teremos:

# wpa_passphrase "quasar" "nerdhijodeunamadre"

network={
ssid="quasar"
#psk="nerdhijodeunamadre"
psk=e7d6ab5d58eb6cea975fed6d0c717a6f0de6e96db65f8d11abe80530694bfe90
}


De uma forma mais sofisticada, haveria, em vez de deixar uma chave genérica para todos os clientes da rede, como associar cada endereço MAC destes clientes a uma chave. Desta maneira, apenas as máquinas cadastradas teriam acesso à rede.

Esta tabela estaria no arquivo /etc/hostapd/hostapd.wpa_psk, que não foi utilizado por mim. Em termos de segurança é uma boa forma de tornar a rede mais robusta. O artigo de Carla, que enfoca mais a questão de segurança deste sistema, ilustra bem como fazê-lo.

As opções referentes a "wpa_key_mgmt", "wpa_pairwise" e "rsn_pairwise" estão relacionados ao sistema de criptografia que se quer adotar e que são suportados pela placa. São muito bem explanados nos artigos citados.

Diferentemente da sugestão de alguns autores de se utilizar uma ponte (bridge) e configurá-la no "hostapd.conf", isto não foi adotado aqui em virtude da inviabilidade de se adicionar duas placas de rede sem fio na ponte. Eu não consegui, e alguns comentários em fóruns internacionais desencorajaram-me neste sentido. Aceito opiniões a respeito.

Devidamente configurado o hostapd, se tudo tiver dado certo até o momento, poderemos ativar o roteador virtual desta forma:

# hostapd -dd /etc/hostapd/hostapd.conf

Então, será que neste instante devemos esperar o compartilhamento de conexão? Veja que, se utilizarmo-nos de um cliente, seja um tablet ou outro PC, iremos verificar a existência de uma rede sem fio de nome "quasar" (caso tenhamos usado o arquivo acima).

Neste caso, ficamos tentados a simplesmente escolher esta rede no cliente, colocar a senha e esperar. Eis que percebemos que o cliente não consegue adquirir seu endereço IP. Resolveremos isto.

Vamos forçar um endereço IP para o roteador virtual. Lembremos que utilizamos a wlan0 como placa de rede que enviará o sinal para o ambiente interno e, portanto, é justamente esta que terá que receber o IP do nosso pseudorroteador:

# ifconfig wlan0 192.168.44.1 netmask 255.255.255.0

Agora, podemos passar para as regras de Firewall.

Página anterior     Próxima página

Páginas do artigo
   1. Introdução e Pré-requisitos
   2. Instalação
   3. Configurações
Outros artigos deste autor
Nenhum artigo encontrado.
Leitura recomendada

Análise do Seamonkey - A evolução da espécie

Resolvendo problema de conexão a internet ADSL (Velox)

Interoperabilidade monitorando servidores e estações Windows com servidor Linux usando MRTG

Aplicações remotas: um exemplo com o Octave

Rodando ASP em servidores web Linux

  
Comentários
[1] Comentário enviado por carlosgilmar em 06/02/2013 - 11:06h

Funcionou perfeitamente no Slackware 13.
Muito obrigado por compartilhar!


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts