Criando um Hotspot Wifi usando o Linux
Prezados colegas,
Saudações pinguianas a todos.
Sei que estou “em falta” com vocês, pois desde o dia 26/03 eu estou prometendo um artigo sobre como criar um HOTSPOT usando o Linux aqui no portal. Então, estou escrevendo agora.
Primeiro, vamos entender o que é HOTSPOT.
Hotspot (do inglês hot, quente e spot, ponto) é o nome dado ao local onde a tecnologia Wi-Fi está disponível. São encontrados geralmente em locais públicos como cafés, restaurantes, hotéis e aeroportos onde é possível conectar-se à Internet utilizando qualquer computador portátil que esteja preparado para se comunicar em uma rede sem fio do tipo Wi-Fi. O local onde se instala um Hotspot deve ser cuidadosamente analisado, pois quem controla o hotspot consegue ver o conteúdo dos outros computadores conectados à rede.
Devo avisar que as configurações que eu vou demonstrar nesse artigo, foram testadas nos sistemas Debian e Ubuntu.
Para darmos sequência, vamos precisar de um computador conectado à internet através de UM CABO DE REDE e um dispositivo Wifi (podendo ser uma placa PCI, ou um adaptador USB). No meu caso, vou usar esse adaptador USB aí da foto.
Como esse artigo abrange somente a instalação e a configuração do Hotspot, vou partir do princípio de que sua placa ou adaptador de rede já esteja configurado e funcionando.
Então, agora vamos colocar a mão na massa. Primeiramente, vamos instalar os pacotes necessários:
apt-get install hostapd dnsmasq
Agora, vamos gerar um arquivo de configuração a partir do modelo padrão:
zcat /usr/share/doc/hostapd/examples/hostapd.conf.gz | tee -a /etc/hostapd/hostapd.conf
Agora, vamos editar o arquivo de configurações, e vamos deixá-lo de acordo com a nos necessidades:
vim /etc/hostapd/hostapd.conf
Agora, descomente, altere ou (apenas se não tiver) insira essas e altere o SSID (nome da rede) e o WPA_PASSPHRASE (sua senha) de acordo com suas preferencias:
interface=wlan0 ssid=NOME DA REDE hw_mode=g wpa=2 wpa_passphrase=Su@S3nh@ wpa_key_mgmt=WPA-PSK wpa_pairwise=TKIP rsn_pairwise=CCMP macaddr_acl=0 wme_enabled=0 ieee8021x=0 eap_server=0 channel=1
Feito isso, salve o arquivo e saia (ESC + :wq!).
Agora, precisamos configurar as placas de redes. Vou levar em consideração que você esteja em uma rede 192.168.0.0/24 e que seu Gateway seja o 192.168.0.1. A sua ethX (pode ser eth0, eth1, eth2, etc) é a interface de conexão por cabo, a entrada, no caso o lugar de onde vem a sua internet. E a wlan0 (pode ser wlan0, wlan1, wlan2, etc) é a interface Wifi, que vai funcionar como Hotspot.
Vamos verificar então como estão nossas interfaces com o comando ifconfig:
ifconfig
A saída deve ser assim:
Então, de acordo com isso, vamos escrever o arquivo de configuração da rede, o /etc/network/interfaces
vim /etc/network/interfaces
Deixe-o assim:
# The loopback network interface auto lo iface lo inet loopback auto eth0 iface eth0 inet static address 192.168.0.2 netmask 255.255.255.0 gateway 192.168.0.1 dns-nameservers 192.168.0.1 auto wlan0 iface wlan0 inet static hostapd /etc/hostapd/hostapd.conf address 172.16.0.1 netmask 255.255.255.0
Salve o arquivo e saia (ESC + :wq!).
Agora, edite o arquivo /etc/resolv.conf
vim /etc/resolv.conf
Deixe-o apenas com essa linha:
nameserver 192.168.0.1
Salve o arquivo e saia (ESC + :wq!).
Agora, precisamos configurar o dnsmasq, que será responsável por fazer o DHCP, distribuir Ips para os computadores e smartphones que irão acessar o seu wifi.
Então, vamos editar o arquivo /etc/dnsmasq.conf
vim /etc/dnsmasq.conf
Esse arquivo terá apenas três linhas, então, deixe-o assim:
interface=lo,wlan0 no-dhcp-interface=lo dhcp-range=172.16.0.2,172.16.0.254,255.255.255.0,12h
Feito isso, salve o arquivo e saia (ESC + :wq!).
Em seguida, precisamos configurar o kernel do Linux para permitir encaminhamento de pacotes. Para isso você precisa editar o arquivo /etc/sysctl.conf .
vim /etc/sysctl.conf
Agora insira ou descomente a linha abaixo:
net.ipv4.ip_forward=1
Feito isso, salve o arquivo e saia (ESC + :wq!).
Precisamos agora, com a ajuda do iptables, ativar o NAT para garantir que o tráfego que vai para fora use o endereço externo como seu endereço de origem e, portanto, poder ser encaminhado de volta. Isso pode ser feito no arquivo /etc/rc.local
vim /etc/rc.local
Deixe-o assim:
#!/bin/sh -e # # rc.local # # This script is executed at the end of each multiuser runlevel. # Make sure that the script will "exit 0" on success or any other # value on error. # # In order to enable or disable this script just change the execution # bits. # # By default this script does nothing. iptables -t nat -A POSTROUTING -s 172.16.0.0/24 ! -d 172.16.0.0/24 -j MASQUERADE exit 0
Feito isso, salve o arquivo e saia (ESC + :wq!).
Agora, precisamos reiniciar a máquina:
reboot
Feito isso, tudo já deve estar funcionando.
Isso é tudo galera, espero ter colaborado!
Esse artigo foi útil? Colabore com o nosso site para podermos continuar dando mais dicas como essa!
Formas de doação:
- Boleto / Cartão de crédito: https//bit.ly/AprendendoLinux
- Pix: [email protected]
- PicPay: @henrique_fagundes
- PayPal: [email protected]
- Bitcoin: bc1qtnn5z058htzy799dslwrpjcdpm0vuta3vrj28l
Favorecido: Luiz Henrique Marques Fagundes