IFPR-Labtelecom: Linux (Hostapd)
Hostapd (transformando o computador em um equipamento wireless)
Hostapd é um arquivo em linux que permite transformar o computador em um equipamento wireless, podendo funcionar como um ponto de acesso (para isso é necessário configurar alguns parâmetros de roteamento) ou como uma bridge, conforme apresentado nessa seção.
Antes de realizar essa configuração são necessários alguns conhecimentos prévios do computador e da rede onde será utilizado o equipamento. No exemplo abaixo, utilizo um modem-roteador como servidor DHCP e um switch, sendo criada uma rede local com endereço 192.168.1.0/24.
O computador Intelbras i434 possui duas interfaces de rede, sendo uma cabeada (eth0) e uma sem fio (wlan0). O computador se conecta na rede 192.168.1.0/24 pela interface eth0. Já os equipamentos sem fio se conectam pela interface wlan0. Para que um dispositivo da rede sem fio tenha acesso a rede é necessário realizar uma comutação entre as interfaces wlan0 e eth0. Como o objetivo é que todos os dispositivos fiquem conectados na rede local, é possível criar uma interface de brigde (br0) no computador. Nessa situação, todos os pacotes IP serão repassados pelas interfaces wlan0 e eth0, sendo realizados apenas os processamentos em função dos endereços físicos.
1) Criando uma interface bridge (br0):
Digite no terminal:
ifconfig eth0 up
ifconfig wlan0 up
brctl addbr br0
brctl addif br0 eth0 wlan0
ip link set br0 up
obs.: inicialmente são ligadas as interface de rede eth0 e wlan0. Na sequência é adicionada a bridge br0 no sistema e interligadas as eth0 e wlan0 na bridge br0. Para verificar se a bridge foi criada digite brctl show no terminal, onde o endereço físico da brigde corresponde ao endereço MAC da interface wlan0.
2) Recebendo um endereço IP na bridge br0:
Digite no terminal:
dhcpcd br0
obs.: a bridge deverá receber um endereço IP da rede local. Nesse mesmo comando é adicionada uma linha na tabela de roteamento do computador, onde a rota padrão (default) será correspondente a interface br0, sendo possĩvel verificar a tabela pelo comando route via terminal.
3) Configurando o arquivo hostapd:
O arquivo hostapd está disponível no diretório /etc/hostapd/hostapd.conf. Utilize um editor de texto e adicione os seguintes parâmetros no arquivo.
interface=wlan0
bridge=br0
driver=nl80211
logger_syslog=-1
logger_syslog_level=2
logger_stdout=-1
logger_stdout_level=2
dump_file=/tmp/hostapd.dump
ctrl_interface=/var/run/hostapd
ctrl_interface_group=0
ssid=minharede
hw_mode=g
channel=6
beacon_int=100
dtim_period=2
max_num_sta=255
rts_threshold=2347
fragm_threshold=2346
macaddr_acl=0
auth_algs=3
ignore_broadcast_ssid=0
eapol_key_index_workaround=0
eap_server=0
own_ip_addr=127.0.0.1
wpa=2
wpa_passphrase=********
wpa_key_mgmt=WPA-PSK
wpa_pairwise=TKIP
rsn_pairwise=CCMP
obs.: O nome da rede local é indicado pelo parâmetro ssid, o modo de funcionamento a/b/g pelo parâmetro hw_mode, o canal pelo parâmetro channel. Para configurar a segurança da rede foi utilizado os parâmetros wpa=2 e a senha da rede no parâmetro wpa_passphrase. Se algum dispositivo ficar intermitente na rede, recomento diminuir o parâmetro beacon_int (o valor padrão é 100) para aumentar a frequência de envio de pacotes de sincronismos entre o computador e o dispositivo conectado.
Para iniciar o serviço digite no terminal:
/etc/rc.d/rc.hostapd start
Para encerrar digite:
/etc/rc.d/rc.hostapd stop
4) Automatizando o processo:
Para automatizar o processo é possível criar um script em bash com os seguintes parâmetros:
ifconfig eth0 up
ifconfig wlan0 up
brctl addbr br0
brctl addif br0 eth0 wlan0
ip link set br0 up
dhcpcd br0
/etc/rc.d/rc.hostapd start