Carregando...
DebianServidores Linux

Transformando o Debian em Access Point Wifi com Hostapd

Tempo de leitura: 6 minutos

Access Point Wifi Debian

Você tem aquele notebook ou pc antigo encostado, com duas placas de rede, sendo uma delas wifi. Que tal transformá-lo num Access Point Wifi (AP) para conectar seus dispositivos?

Neste artigo vou transformar um PC antigo num AP utilizando o Debian 9.

Por que ter um Access Point?

Existem diversos motivos para se ter um AP, entre eles destaco os seguintes:

  • Permite interligar dispositivos variados;
  • Permite levar conexão wifi a pontos que não possuí;
  • Permite conectar dispositivos móveis a um rede cabeada;
  • Permite fazer proxy e cache para acessar as páginas da Internet;
  • Permite criar regras de controle de acesso para sua rede;
  • Permite criar uma rede virtual sem precisar de switchs e pontos de rede;

Verificando e configurando a interface wifi

Numa instalação simples, geralmente o Debian não irá instalar o driver para a placa wifi, para isso teremos que identificá-la e configurá-la de forma adequada.

Identificando a placa pelo comando lspci

Para isso, primeiro temos que identificar a placa com o comando lspci:

lspci

Após identificar a interface que possui a identificação 04:00.0, podemos exibir mais detalhes da placa com o comando abaixo:

lspci -v

Os parâmetro -v, exibe mais detalhes sobre a placa e no parâmetro -s, nós pedimos pra mostrar só as informações de um dispositivo específico.

Instalando o driver correto

Podemos identificar que se trata de uma placa da Intel de número 7260, também vemos que é um modelo que suporta redes AC (802.11ac).

Procurando na Internet encontrei o driver num repositório para hardware que não tem a licença free, vamos instalar adicionando o repositório no sources.list:

Depois, instalamos o pacote para a nossa placa:

Após finalizar a instalação podemos carregar os módulos do kernel:

Depois de carregados os módulos, a interface já será reconhecida pelo Debian:

ip a

Configurando as interfaces

No nosso Debian temos duas interfaces, a enp2s0 que recebe o IP do roteador da Operadora de Internet e a interface wlp4s0 que será utilizada para a conexão wifi.

Primeiro, vamos instalar alguns programas necessário para configurar nossa interface wifi:

Podemos identificar se a placa permite ser utilizada como Access Point, para isso executamo o comando abaixo. Se aparecer a opção AP na lista sua placa suporta este modo:

iw list

Para nosso AP funcionar com a Internet da Operadora e receber o IP automaticamente, vamos criar uma interface bridge entre a interface lan (enp2s0) e a wifi (wlp4s0), lembrando que devemos utilizar um IP da mesma rede utilizada pela sua operadora:

No arquivo /etc/network/interfaces remova as configurações da interface de rede, deixando apenas a configuração de loopback:

Criamos um arquivo específico para a interface bridge:

Agora, reiniciamos o sistema para recarregar as configurações da interface e pronto, a parte de rede está configurada.

Instalando o hostapd

Para transformar nosso pc num Access Point usamos o servidor com o serviço hostapd, vamos instalá-lo com o comando abaixo:

Partimos agora para configuração do arquivo do hostapd, com as definições para habilitar nossa rede wifi chamada Linux na Web:

Abaixo temos uma descrição de cada linha do arquivo:

interface=wlp4s0: Define a interface da nossa rede wifi.

bridge=br0: Define a interface bridge que vamos utilizar.

driver=nl80211: Driver utilizado para nossa interface wifi. A maioria das placas wifi utilizam o nl80211.

ssid=Linux na Web: Define o nome da nossa rede.

hw_mode=g: Define o modo de operação da rede. Onde a é referente a tecnologia 802.11a, b é 802.11b e g será a rede 802.11g.

country_code=BR: Define código do país. Não é obrigatório o uso desta opção.

channel=10: Define o canal utilizado pela nossa rede. Deixando como 0, ela irá procurar o canal com menos interferência.

wpa=2: Define o protocolo utilizado na rede. Onde 1 é para wap1, 2 para wap2 e 3 para ambos.

[email protected]: Definimos a senha para acesso a nossa rede wifi.

wpa_key_mgmt=WPA-PSK: Define o algoritmo da chave de criptografia desejada. As opções são WPA-PSK e WPA-EAP, utilizaremos WPA-PSK.

wpa_pairwise=TKIP CCMP e rsn_pairwise=CCMP: Definem os algoritmos de criptografia que iremos utilizar.

auth_algs=1: Define o algoritmo de autenticação. Com 1 definimos para WPA2 e com 2 definimos como WEP. Sempre escolha 1, pois é mais seguro.

macaddr_acl=0: Permite criar regras para acesso pelo MAC ADDRESS. Com 0 desabilitamos o bloqueio, permitindo acesso para todos.

Configurando opções do serviço

Antes de iniciarmos o serviço hostapd, precisamos configura algumas opções:

Onde:

DAEMON_CONF: Define arquivo de configuração do hostapd.

DAEMON_OPTS: Define parâmetros opcionais para o serviço. No nosso caso definimos o formato e onde deve ser gerado os registros de logs do hostapd.

Pronto, com as configurações finalizadas, podemos reiniciar o serviço.

Podemos verificar a nossa interface bridge com o comando:

Podemos ver que ela agrupa ambas as interfaces, enp2s0 e wlp4s0.

brctl show

Portanto, já podemos verificar a disponibilidade da nossa rede:

wifi Linux na Web

E fazer a conexão:

Senha wifi

Podemos também identificar pelos logs:

log do hostapd

Algumas opções de segurança

Podemos escolher algumas opções para melhorar nossa rede, impedindo a sobrecarga e deixando mais segura.

Restringindo quantidade de conexões

Podemos restringir a quantidade de estações que podem se conectar a nossa rede, adicionando no arquivo de configuração (hostapd.conf) a opção max_num_sta seguida da quantidade:

Assim, somente 5 conexões serão possíveis, a partir da quinta nenhuma outra conexão será permitida.

Fazendo controle de acesso

Podemos restringir o acesso a nossa rede, pelo mac-address dos dispositivos. Para isso, temos que definir alguns parâmetros no arquivo de configuração:

Onde NUM pode ser:

0: Aceita conexão a todos os dispositivos, a menos que esteja numa lista de mac-address bloqueados.
1: Nega conexão a todos os dispositivos, a menos que esteja numa lista de mac-address liberados.
2: Utiliza um servidor RADIUS para fazer as validações de conexão.

Vamos configurar para liberar todas as conexões, exceto se o mac-address do dispositivo estiver numa lista de dispositivos bloqueados:

O parâmetro deny_mac_file define o arquivo que terá os mac-addres bloqueados:

E para recarregar as configurações, executamos o comando:

Pronto, todos os mac-address dos dispositivos que estiverem no arquivo hostapd.deny, não conseguirão se conectar a rede. Podemos verificar nos logs:

log de acesso negado

Agora vamos configurar para bloquear todas as tentativas de conexões, exceto se o mac-address do dispositivo estiver numa lista de dispositivos liberados:

O parâmetro accept_mac_file define o arquivo que terá os mac-addres liberados:

E para recarregar as configurações, executamos o comando:

Assim finalizamos nosso Access Point, lembrando que utilizamos o roteador da operador para receber o IP, mais é possível você configurar seu próprio serviço dhcp local.

Para mais informações acesse:

Gentoo Linux Hostapd

Arch Linux Access Point

 

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

%d blogueiros gostam disto: