Você irá precisar de uma placa de rede sem fio instalada e reconhecida pelo seu Linux. Por quê? Eu não entrarei nos detalhes de como fazer seu linux reconhecer sua placa de rede, pois para cada placa de rede funciona diferente.
Primeiro vamos ver se a sua placa aceita ser configurada como ponto de acesso. Para isto precisamos do comando iw. Vamos aproveitar e instalar também o wireless-tools que permite verificar outras informações da rede sem fio.
Então vamos fazer a verificação. O comando ifconfig mostra as interfaces.
Agora que já sabemos o nome da interface podemos verificar se ela suporta funcionar como AP.
Vamos garantir que o NetworkManager não irá utilizar esta interface. Para isto é necessário alterar o arquivo /etc/NetworkManager/NetworkManager.conf e acrescentar as seguintes linhas:
Precisamos criar um arquivo de configuração básico. O local padrão para colocarmos este arquivo é em /etc/hostapd. Vamos ver como criar um ponto de acesso simples com autenticação WPA2-PSK, isto é, um ponto de acesso normal com a maior segurança atual e que usa uma senha para o usuário conectar. Você pode usar o seu editor favorito, lembrando que o arquivo deverá ser criado em /etc/hostapd com o nome hostapd.conf.
Veja se seu Ubuntu ao instalar o hostapd criou também o script de inicialização em /etc/init.d.
Se não criou, você precisar criar algo como mostrado abaixo. Use seu editor favorito, mas lembre que este diretório é acessado pelo root.
Rode service hostapd start para iniciar o AP.
Pronto as suas estações sem fio (notebook, celular, tablet, etc) já podem continuar.
Para que seu computador funcione como um AP completo ainda temos que fazer duas coisas:
Primeiro vamos ver se a sua placa aceita ser configurada como ponto de acesso. Para isto precisamos do comando iw. Vamos aproveitar e instalar também o wireless-tools que permite verificar outras informações da rede sem fio.
$ sudo apt-get -y update
$ sudo apt-get install -i iw wireless-tools
$ sudo apt-get install -i hostapd
A terceira linha acima instala o hostapd. O site com a documentação oficial do hostapd pode ser visto clicando neste link. O hostapd é o programa no linux que cria um ponto de acesso sem fio compatível com o protocolo IEEE 802.11 que é utilizado pelos wifi.Então vamos fazer a verificação. O comando ifconfig mostra as interfaces.
$ ifconfig
eth0 Link encap:Ethernet Endereço de HW b0:aa:ab:ab:ac:03
UP BROADCAST MULTICAST MTU:1500 Métrica:1
pacotes RX:0 erros:0 descartados:0 excesso:0 quadro:0
Pacotes TX:0 erros:0 descartados:0 excesso:0 portadora:0
colisões:0 txqueuelen:1000
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
lo Link encap:Loopback Local
inet end.: 127.0.0.1 Masc:255.0.0.0
endereço inet6: ::1/128 Escopo:Máquina
UP LOOPBACK RUNNING MTU:65536 Métrica:1
pacotes RX:9225 erros:0 descartados:0 excesso:0 quadro:0
Pacotes TX:9225 erros:0 descartados:0 excesso:0 portadora:0
colisões:0 txqueuelen:1
RX bytes:153959932 (153.9 MB) TX bytes:153959932 (153.9 MB)
wlan0 Link encap:Ethernet Endereço de HW b0:aa:ab:ab:ac:03
UP BROADCAST RUNNING MULTICAST MTU:1500 Métrica:1
pacotes RX:196245 erros:0 descartados:0 excesso:0 quadro:0
Pacotes TX:195998 erros:0 descartados:0 excesso:0 portadora:0
colisões:0 txqueuelen:1000
RX bytes:286319091 (286.3 MB) TX bytes:23147473 (23.1 MB)
No nosso caso já conseguimos identificar a interface de rede que é wlan0. Você pode mandar listar um arquivo de sistema que mostra também informações de rede.$ cat /proc/net/dev
Inter-| Receive | Transmit
face |bytes packets errs drop fifo frame compressed multicast|bytes packets errs drop fifo colls carrier compressed
lo: 153959932 9225 0 0 0 0 0 0 153959932 9225 0 0 0 0 0 0
wlan0: 286319091 196245 0 0 0 0 0 0 23147473 195998 0 0 0 0 0 0
eth0: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Que permite ver também as interfaces detectadas e criadas pelo linux.Agora que já sabemos o nome da interface podemos verificar se ela suporta funcionar como AP.
$ iw phy
Wiphy phy0
Band 1:
Supported interface modes:
* IBSS
* managed
* AP
* AP/VLAN
* WDS
* monitor
* mesh point
* P2P-client
* P2P-GO
* Unknown mode (11)
Usamos o comando iw para obter a informação mostrada acima. Notem que o comando iw retorna muito mais informação que a mostrada acima. De propósito retiramos diversas linhas para não ficar muito grande e para ficar mais fácil mostrar onde está a informação desejada. Como vemos em "Supported interface modes" que AP está listado, então sabemos que podemos utilizar nossa placa para criar um ponto de acesso. E se a saída de seu comando não mostra isto? Então você pode precisar instalar outro driver ou até mesmo trocar de placa.Vamos garantir que o NetworkManager não irá utilizar esta interface. Para isto é necessário alterar o arquivo /etc/NetworkManager/NetworkManager.conf e acrescentar as seguintes linhas:
[keyfile]
unmanaged-devices=mac:b0:aa:ab:ab:ac:03
Estas duas linhas indicam a seção do arquivo de configuração (que já pode existir no seu caso, confira antes de simplesmente inserir uma nova linha). A segunda linha indica para o NetworkManager que ele não deve controlar a interface com o endereço MAC indicado. Note que este endereço é indicado no comando ifconfig (veja a saída dele acima).Precisamos criar um arquivo de configuração básico. O local padrão para colocarmos este arquivo é em /etc/hostapd. Vamos ver como criar um ponto de acesso simples com autenticação WPA2-PSK, isto é, um ponto de acesso normal com a maior segurança atual e que usa uma senha para o usuário conectar. Você pode usar o seu editor favorito, lembrando que o arquivo deverá ser criado em /etc/hostapd com o nome hostapd.conf.
interface=wlan0
driver=nl80211
ignore_broadcast_ssid=0
hw_mode=g
channel=1
ssid=meussid
# habilita WPA PSK
wpa=2
wpa_key_mgmt=WPA-PSK
wpa_pairwise=TKIP
rsn_pairwise=CCMP
wpa_passphrase=senhadecriptografia
wme_enabled=1
Os pontos que você deverá verificar estão marcados de outra cor no exemplo acima. Em rosa está o nome da sua interface, normalmente wlan0. Em vermelho é o nome da sua rede sem fio (aquela que suas estações irão ver para se conectar). E em azul é a senha, que você deverá alterar para conter o texto que você achar melhor. O canal indica qual a frequência que seu ponto de acesso irá atuar. Por exemplo, para 2.4GHz os canais no Brasil vão de 1 a 11. Escolha um destes.Veja se seu Ubuntu ao instalar o hostapd criou também o script de inicialização em /etc/init.d.
Se não criou, você precisar criar algo como mostrado abaixo. Use seu editor favorito, mas lembre que este diretório é acessado pelo root.
#!/bin/sh
### BEGIN INIT INFO
# Provides: hostapd
# Required-Start: $remote_fs
# Required-Stop: $remote_fs
# Should-Start: $network
# Should-Stop:
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Advanced IEEE 802.11 management daemon
# Description: Userspace IEEE 802.11 AP and IEEE 802.1X/WPA/WPA2/EAP
# Authenticator
### END INIT INFO
PATH=/sbin:/bin:/usr/sbin:/usr/bin
DAEMON_SBIN=/usr/sbin/hostapd
DAEMON_DEFS=/etc/default/hostapd
DAEMON_CONF=
NAME=hostapd
DESC="advanced IEEE 802.11 management"
PIDFILE=/var/run/hostapd.pid
[ -x "$DAEMON_SBIN" ] || exit 0
[ -s "$DAEMON_DEFS" ] && . /etc/default/hostapd
[ -n "$DAEMON_CONF" ] || exit 0
DAEMON_OPTS="-B -P $PIDFILE $DAEMON_OPTS $DAEMON_CONF"
. /lib/lsb/init-functions
case "$1" in
start)
log_daemon_msg "Starting $DESC" "$NAME"
start-stop-daemon --start --oknodo --quiet --exec "$DAEMON_SBIN" \
--pidfile "$PIDFILE" -- $DAEMON_OPTS >/dev/null
log_end_msg "$?"
;;
stop)
log_daemon_msg "Stopping $DESC" "$NAME"
start-stop-daemon --stop --oknodo --quiet --exec "$DAEMON_SBIN" \
--pidfile "$PIDFILE"
log_end_msg "$?"
;;
reload)
log_daemon_msg "Reloading $DESC" "$NAME"
start-stop-daemon --stop --signal HUP --exec "$DAEMON_SBIN" \
--pidfile "$PIDFILE"
log_end_msg "$?"
;;
restart|force-reload)
$0 stop
sleep 8
$0 start
;;
status)
status_of_proc "$DAEMON_SBIN" "$NAME"
exit $?
;;
*)
N=/etc/init.d/$NAME
echo "Usage: $N {start|stop|restart|force-reload|reload|status}" >&2
exit 1
;;
esac
exit 0
Rode service hostapd start para iniciar o AP.
Pronto as suas estações sem fio (notebook, celular, tablet, etc) já podem continuar.
Para que seu computador funcione como um AP completo ainda temos que fazer duas coisas:
- instalar e configurar um DHCP server, que fornecerá o endereço IP para suas estações
- instalar e configurar um firewall com NAT para permitir que as estações naveguem.
Comentários
Postar um comentário