Este sitio utiliza cookies propias y de terceros. Si continúa navegando consideramos que acepta el uso de cookies. OK Más Información.

Tutorial Raspberry Pi - Cómo crear un punto de acceso WiFi

  • 3 Respuestas
  • 2849 Vistas

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado Stiuvert

  • *
  • Underc0der
  • Mensajes: 2675
  • Actividad:
    0%
  • Reputación 14
    • Ver Perfil
  • Skype: stiuvert@gmail.com
  • Twitter: @Stiuvert
« en: Diciembre 27, 2016, 09:56:39 am »


Bienvenidos a un nuevo tutorial de Raspberry Pi, en el cual aprenderemos a crear un punto de acceso WiFi a través del cual tendremos acceso a Internet. Muchas veces he estado en sitios que tenían toma Ethernet pero no señal WiFi, por lo que conectar por ejemplo un teléfono o tablet era imposible. Sin embargo, con este tutorial tendremos una red WiFi para nosotros solos gracias a la Raspberry Pi.

Material necesario:

  • Raspberry Pi.
  • Cable Ethernet.
  • Adaptador WiFi.
  • Tarjeta de memoria compatible (mínimo 4GB).
Instalación de Raspbian

Este tutorial lo he realizado tras instalar Raspbian en la Raspberry Pi. Puedes ver cómo hacerlo desde este tutorial. Una vez hecho esto, podemos seguir con los pasos siguientes.

Instalar los programas necesarios

Antes de nada, como siempre hay que hacer al instalar un nuevo sistema operativo, actualizamos los programas instalados con estos comandos:

Código: Bash
  1. sudo apt-get update
  2. sudo apt-get upgrade

Tras esto, instalaremos dos programas que nos permitirán crear el punto de acceso WiFi: hostapd y isc-dhcp-server.

Código: Bash
  1. sudo apt-get install hostapd isc-dhcp-server

Configurar el servidor DHCP DHCP es el protocolo que hace que automáticamente se nos asigne una dirección IP al conectarnos a una red. Para configurarlo, abre su fichero de configuración:

Código: Bash
  1. sudo nano /etc/dhcp/dhcpd.conf

Busca las siguientes líneas:

Código: [Seleccionar]
option domain-name "example.org";
option domain-name-servers ns1.example.org, ns2.example.org;

Cuando las hayas encontrado, coméntalas con un caracter almohadilla '#' delante:

Código: [Seleccionar]
#option domain-name "example.org";
#option domain-name-servers ns1.example.org, ns2.example.org;

Ahora busca las siguientes líneas:

Código: [Seleccionar]
# If this DHCP server is the official DHCP server for the local
# network, the authoritative directive should be uncommented.
#authoritative;

Descomenta la tercera línea para que quede así:

Código: [Seleccionar]
# If this DHCP server is the official DHCP server for the local
# network, the authoritative directive should be uncommented.
authoritative;

Por último, añade las siguientes líneas al final del archivo:

Código: [Seleccionar]
subnet 192.168.100.0 netmask 255.255.255.0 {
    range 192.168.100.10 192.168.100.50;
    option broadcast-address 192.168.100.255;
    option routers 192.168.100.1;
    default-lease-time 600;
    max-lease-time 7200;
    option domain-name "local";
    option domain-name-servers 8.8.8.8, 8.8.4.4;
}

Ya hemos terminado de modificar este archivo, así que ciérralo con las teclas CTRL+X y luego Y. A continuación, abriremos otro archivo de configuración:

Código: Bash
  1. sudo nano /etc/default/isc-dhcp-server

Busca la línea INTERFACES="" y entre las comillas añade "wlan0": INTERFACES="wlan0". Una vez hecho esto, cierra y guarda el archivo. Configurar una IP estática en wlan0 A continuación, configuraremos una dirección IP estática para wlan0. De esta manera, siempre será la misma. Para ello, desactivamos la interfaz wlan0 con el siguiente comando:

Código: Bash
  1. sudo ifdown wlan0

Una vez desactivada la interfaz, hay que modificar su configuración:

Código: Bash
  1. sudo nano /etc/network/interfaces

Después de la línea allow-hotplug wlan0, añade lo siguiente:

Código: [Seleccionar]
iface wlan0 inet static
  address 192.168.100.1
  netmask 255.255.255.0

Y comenta con un '#' las tres líneas siguientes. El archivo completo debe quedar así:

Código: [Seleccionar]
auto lo

iface lo inet loopback
iface eth0 inet dhcp

allow-hotplug wlan0

iface wlan0 inet static
  address 192.168.100.1
  netmask 255.255.255.0

#iface wlan0 inet manual
#wpa-roam /etc/wpa_supplicant/wpa_supplicant.conf
#iface default inet dhcp

Cierra el archivo y guárdalo. Tras esto, asigna la IP a la interfaz wlan0 y habilítala con el siguiente comando:

Código: Bash
  1. sudo ifconfig wlan0 192.168.100.1

Configurar el punto de acceso

Ahora toca configurar el punto de acceso (SSID, contraseña, tipo de seguridad, etc.). Para ello, vamos a crear un nuevo archivo con el siguiente comando:

Código: Bash
  1. sudo nano /etc/hostapd/hostapd.conf

Debido a que acabamos de crearlo, no tiene ningún contenido, por lo que hay que pegar lo siguiente:

Código: [Seleccionar]
interface=wlan0
driver=rtl871xdrv
ssid=RPi_PA
hw_mode=g
channel=6
macaddr_acl=0
auth_algs=1
ignore_broadcast_ssid=0
wpa=2
wpa_passphrase=contrasena
wpa_key_mgmt=WPA-PSK
wpa_pairwise=TKIP
rsn_pairwise=CCMP

Podéis cambiar el SSID de RPi_PA (Raspberry Pi Punto de Acceso) al que queráis, así como la contraseña (wpa_passphrase). Asegúrate de que el archivo no tiene líneas extra ni espacios al final de cada línea. A continuación, debemos decirle a la Raspberry Pi dónde encontrar el archivo de configuración que acabamos de crear. Para ello, modificamos la línea #DAEMON_CONF del siguiente archivo:

Código: Bash
  1. sudo nano /etc/default/hostapd

La vamos a dejar así: DAEMON_CONF="/etc/hostapd/hostapd.conf". Acuérdate de quitar la almohadilla para descomentar la línea. Guarda y cierra el archivo. Configuración de NAT NAT (Network Address Translation) es el protocolo que permite que muchos clientes puedan conectarse a Internet a través de una única conexión IP "tunelando" la conexión. Debes hacer esto incluso si sólo vas a tener un cliente conectado. Abre el siguiente archivo de configuración:

Código: Bash
  1. sudo nano /etc/sysctl.conf

Añade la siguiente línea al final:

Código: [Seleccionar]
net.ipv4.ip_forward=1
Estos cambios se aplicarán cuando reiniciemos el sistema, pero para hacerlo inmediatamente puedes introducir lo siguiente en consola, que tiene el mismo objetivo que lo anterior:

Código: Bash
  1. sudo sh -c "echo 1 > /proc/sys/net/ipv4/ip_forward"

Ahora hay que configurar las iptables para hacer la "traducción" entre la interfaz Ethernet (Eth0) y la WiFi (wlan0):

Código: [Seleccionar]
sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
sudo iptables -A FORWARD -i eth0 -o wlan0 -m state --state RELATED,ESTABLISHED -j ACCEPT
sudo iptables -A FORWARD -i wlan0 -o eth0 -j ACCEPT

El problema de esto es que habría que ejecutar los comandos anteriores cada vez que encendamos la Raspberry Pi, pero para que sea automático introducimos lo siguiente:

Código: Bash
  1. sudo sh -c "iptables-save > /etc/iptables.ipv4.nat"

A continuación volvemos al archivo de configuración de las interfaces de red que hemos modificado con anterioridad:

Código: Bash
  1. sudo nano /etc/network/interfaces

Al final del todo, hay que añadir la línea siguiente:

Código: [Seleccionar]
up iptables-restore < /etc/iptables.ipv4.nat
Actualizar hostapd

Dependiendo de dónde hayáis comprado vuestro adaptador WiFi, este tutorial funcionará o no. Para intentar arreglarlo, actualizaremos a una versión nueva de hostapd que proporcionan desde AdaFruit:

Código: DOS
  1. wget http://adafruit-download.s3.amazonaws.com/adafruit_hostapd_14128.zip
  2. unzip adafruit_hostapd_14128.zip

Ahora toca intercambiar la versión antigua por la nueva:

Código: Bash
  1. sudo mv /usr/sbin/hostapd /usr/sbin/hostapd.ORIG
  2. sudo mv hostapd /usr/sbin
  3. sudo chmod 755 /usr/sbin/hostapd

¿Funcionará?

Para ver si todo funciona correctamente, ejecuta este comando e intenta conectarte a la red WiFi que verás desde tu ordenador y que acabamos de crear:

Código: Bash
  1. sudo /usr/sbin/hostapd /etc/hostapd/hostapd.conf



Puedes dejar de ejecutar el comando anterior y tener acceso a la terminal pulsando Control+C.
Últimos detalles

Ahora que ya sabemos que funciona, vamos a crear un daemon que se ejecutará cada vez que la Raspberry Pi se encienda:

Código: Bash
  1. sudo service hostapd start
  2. sudo service isc-dhcp-server start

Es posible conocer el estado de los daemon con los siguientes comandos:

Código: Bash
  1. sudo service hostapd status
  2. sudo service isc-dhcp-server status

Finalmente, para habilitar los daemon:

Código: Bash
  1. sudo update-rc.d hostapd enable
  2. sudo update-rc.d isc-dhcp-server enable

Una vez hecho esto, ya tendremos nuestro punto de acceso WiFi configurado para que podamos acceder a Internet a través de nuestra Raspberry Pi conectada a un puerto Ethernet. Este tutorial ha quedado bastante largo y es un poco tedioso, pero merece la pena hacerlo porque es la primera parte de otro que publicaré pronto. ¡Un saludo!

Fuente: geekytheory.com

Desconectado PikachuDorado

  • *
  • Underc0der
  • Mensajes: 372
  • Actividad:
    0%
  • Reputación 1
  • Im just a Pikachu
    • Ver Perfil
    • Soporte Ava
« Respuesta #1 en: Diciembre 28, 2016, 03:15:35 pm »
Grande Stiu, cuando me desocupe de las notebooks y vuelva a la Raspi, lo pruebo.
GRACIAS :D
Pikaa~


Desconectado PikachuDorado

  • *
  • Underc0der
  • Mensajes: 372
  • Actividad:
    0%
  • Reputación 1
  • Im just a Pikachu
    • Ver Perfil
    • Soporte Ava
« Respuesta #2 en: Noviembre 04, 2017, 05:35:14 am »
Casi pasa un año de que dije que lo iba a hacer, y auno no lo hice.
Siempre tengo otras cosas para hacer, pero ya que me estableci en un lugar fijo, con conexion 100% propia, decente y un modem totalmente configurable, puedo empezar a divertirme en el barrio.
Pikaa~


Desconectado Stiuvert

  • *
  • Underc0der
  • Mensajes: 2675
  • Actividad:
    0%
  • Reputación 14
    • Ver Perfil
  • Skype: stiuvert@gmail.com
  • Twitter: @Stiuvert
« Respuesta #3 en: Noviembre 04, 2017, 06:04:24 am »
El punto de acceso que se puede crear con las Rapberry es aceptable, pero no es apropiado para usarlo como punto de acceso para tareas importantes o prolongadas como puede ser en el trabajo, en unas oficinas o en tu casa durante un largo tiempo.

Un saludo

 

¿Te gustó el post? COMPARTILO!



Smartphone como monitor Serial de Arduino

Iniciado por rreedd

Respuestas: 5
Vistas: 3973
Último mensaje Abril 23, 2018, 03:44:41 pm
por fmarengo
Arduino UNO como Sniffer Telefónico

Iniciado por ANTRAX

Respuestas: 0
Vistas: 5883
Último mensaje Diciembre 29, 2013, 05:44:13 pm
por ANTRAX
[Tutorial] Control remoto con arduino, wrt54g y android

Iniciado por DarkSpark

Respuestas: 2
Vistas: 4028
Último mensaje Agosto 24, 2013, 08:30:13 pm
por Striker
Crear placa de Arduino

Iniciado por ANTRAX

Respuestas: 0
Vistas: 3113
Último mensaje Noviembre 23, 2012, 04:32:51 pm
por ANTRAX
Arduino + RFID [Simulación Control de Acceso]

Iniciado por Riojas

Respuestas: 1
Vistas: 2661
Último mensaje Junio 23, 2017, 12:44:26 am
por t0pe