Debian/Ubuntu Como hacer un Access Point o Wireless Router con una tarjeta Wifi

JosueCool's picture

En este Como se mostrará como hacer un Accesss Point / Wireless Router con hostapd y una tarjeta Wifi.

Cuantas veces se ha querido compartir internet sin tener que hacer un tendido de red y no se dispone tampoco un wireless router pero gracias a hostapd, un demonio que permite poner muchas tarjetas wifi en modo master (le permite actuar a la tarjeta wifi como un Access Point), se ha logrado hacerlo.

hostapd Permite crear un AP con conexión incluso encriptada en seguridad WPA2, el alcance de señal viene dado por el que posea el dispositivo. Para GNU/Linux soporta todos los dispositivos cuyos módulos de kernel sean dependientes del driver mac80211. Para saber que nuestra tarjeta depende de este driver se debe poner en la consola:

sudo su
lsmod |grep mac80211

Y si se obtiene algo parecido a esto:

mac80211 154480 1 ath9k
cfg80211 119060 3 ath9k,mac80211,ath

Es que se tiene soporte.

Para el siguiente Como se utiliza una tarjeta wireless Atheros a/b/g/n cuyo lspci es:

07:00.0 Network controller: Atheros Communications Inc. Device 002a (rev 01)

Una vez que se sabe que nuestro dispositivo es dependiente del driver mac80211 instalamos los paquetes necesarios:

sudo su
apt-get install firestarter dhcp3-server hostapd bridge-utils wireless-tools


Reiniciamos el equipo

Debido a que hostapd lo requiere para cargar módulos en el kernel (esto es necesario solo la primera vez).

Luego procedemos a editar los archivos de configuración necesarios.

nano /etc/network/interfaces

Este archivo nos permite definir un dispositivo que actua como puente o switch virtual con una IP por defecto que será para asignar las IPs dinámicas en la red, sea LAN o WLAN, para ello editamos y dejamos de la siguiente manera:

# The loopback network interface
auto lo
iface lo inet loopback

auto br0
iface br0 inet static
address 192.168.0.1
network 192.168.0.0
netmask 255.255.255.0
broadcast 192.168.0.255
bridge-ports wlan0 eth0

Si se desea solo compartir por el dispositivo wifi se debe dejar así:

# The loopback network interface
auto lo
iface lo inet loopback

auto wlan0
iface wlan0 inet static
address 192.168.0.1
network 192.168.0.0
netmask 255.255.255.0
broadcast 192.168.0.255

Reiniciamos el demonio para que la configuración tenga efecto:

/etc/init.d/networking restart

Y verificamos con

ifconfig
brctl show

Si se desea solo compartir por el dispositivo wifi se debe comprobar así:

ifconfig wlan0


nano /etc/default/dhcp3-server

Este archivo nos permitirá definir que interfaz es la que será utilizada para asignar las direcciones IP. Modificamos la siguiente línea:

INTERFACES="br0"

Si se desea solo compartir por el dispositivo wifi se debe dejar así:

INTERFACES="wlan0"


nano /etc/dhcp3/dhcpd.conf

Este archivo nos permitirá definir el rango de IPs y los parámetros de red de cada cliente que se conecte a la LAN o WLAN, para ello editamos y dejamos de la siguiente manera:

DHCP configuration
ddns-update-style interim;
ignore client-updates;

subnet 192.168.0.0 netmask 255.255.255.0 {
option routers 192.168.0.1;
option domain-name-servers 10.2.21.13, 201.219.1.19;
option ip-forwarding on;
range dynamic-bootp 192.168.0.10 192.168.0.15;
default-lease-time 21600;
max-lease-time 43200;
}

Tómese en cuenta que option domain-name-servers debe tener las IPs de DNS de su ISP separado por comas, la manera mas facil de ver cuales son los DNS del ISP es conectarse al internet y revisar el archivo /etc/resolv.conf, los DNS son aquellas IPs después de la palabra nameserver.

Reiniciamos el demonio para que la configuración tenga efecto:

/etc/init.d/dhcp3-server restart

nano /etc/sysctl.conf

Con este paso habilitamos el kernel para que múltiples equipos salgan a Internet por medio del nuestro.

Editamos y activamos lo siguiente:

net.ipv4.conf.forwarding=1


Si todo esto pareció muy difícil se puede usar Firestarter

Se debe estar conectado a Internet.
Sea que desee compartir Internet tanto para la LAN como para WLAN o solo por WLAN es necesario que se tenga ya configurado el caso correspondiente con el paso de nano /etc/network/interfaces para proseguir con firestarter.

Para ejecutar firestarter en consola se debe poner lo siguiente:

sudo firestarter

Si es la primera vez se ejecuta, se verá un Asistente que se explicará a continuación, si no es ese el caso, en Cortafuegos - Ejecutar Asistente se halla el mismo.

  1. Damos clic en Adelante.
  2. Seleccionamos el dispositivo de salida a Internet, en este caso ppp0.
    Marcamos los checkbox.
    Damos clic en Adelante.
  3. Activamos el checkbox. Seleccionamos el dispositivo de área local, br0 o wlan0, según sea el caso.
    Damos clic en Adelante.
  4. Damos clic en Guardar.

A continuación se debe dirigir a Editar -> Preferencias, en la nueva ventana se debe dirigir a Cortafuegos -> Configuraciones de red y activar el checkbox Activar DHCP para la red local. Damos clic en Detalles del servidor DHCP, se marca en Crear una configuración DHCP nueva y en IP mas baja colocamos una IP mayor a 192.168.0.0 y en IP mas alta colocamos una IP menor a 192.168.0.255.
Damos clic en Aceptar. Detenemos e iniciamos Firestarter y continuamos este Como.

nano /etc/default/hostapd

Este archivo nos permite establecer si queremos que hostapd funcione como demonio y que archivo de configuración debe tomar para correr.

Editamos y activamos lo siguiente:

RUN_DAEMON="yes"
DAEMON_CONF="/etc/hostapd/hostapd.conf"


nano /etc/hostapd/hostapd.conf

El archivo por defecto incluye mucha documentación importante acerca de si mismo. Aquí se define los parámetros de la red WLAN que crearemos.

La configuración ejemplo con WPA2 es:

interface=wlan0
driver=nl80211
bridge=br0
hw_mode=g
channel=1
ssid=mac80211 test
wpa=2
wpa_key_mgmt=WPA-PSK
wpa_pairwise=CCMP
wpa_passphrase=12345678

Si se desea dejar la conexión abierta puede hacerse así:

interface=wlan0
driver=nl80211
bridge=br0
hw_mode=g
channel=1
ssid=mac80211 test

Si se desea solo compartir por el dispositivo wifi debe quitarse la línea bridge=br0 por ser un parámetro únicamente en caso de que el dispositivo wifi sea parte de un bridge.

Reiniciamos el demonio para que la configuración tenga efecto:

/etc/init.d/hostapd restart

Una vez terminado se ejecuta lo siguiente:
sudo iptables -t nat -A POSTROUTING -o ppp0 -s 192.168.0.0 -j MASQUERADE

Tomando en cuenta que ppp0 es el dispositivo que se conecta a Internet y que 192.168.0.0 es la red tanto del bridge como del DHCP server.

Espero les sea de utilidad, cualquier resultado posteenlo para mejorar este Como.

Saludos,
JosueCool

Tomado de:

http://ubuntuforums.org/showthread.php?t=376283
http://ubuntuforums.org/showthread.php?t=1184560
http://acx100.erley.org/stable.html
http://www.forosdelweb.com/f41/proxy-tranparente-con-iptables-164796/
http://www.workman-engineering.com/how_to_setup_an_atheros_based_access_poi.htm
http://74.125.47.132/search?q=cache:i-7LeTFKtCkJ:sys.42-club.ru/temp/linux-2.6.30/Documentation/networking/mac80211_hwsim/hostapd.conf+filetype:conf+hostapd&cd=36&hl=es&ct=clnk&client=iceweasel-a

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

Ayuda

Hola, la verdad es que me sirvió muchisimo tu guía, pero ahora quiero desactivar, puesto que de esta forma no puedo conectarme normalmente, me podrias decir porfavor como desactivar la configuracion o si existe alguna forma de activar y desactivar con algun comando, de antemano gracias y muchas gracias ademas por la guia :D

JosueCool's picture

Para desactivar el uso como demonio y usarlo cuando se requiera

Para desactivar el uso como demonio y usarlo cuando se requiera se debe hacer lo siguiente

sudo su
update-rc.d -f hostapd remove
nano /etc/default/hostapd

RUN_DAEMON="no"
DAEMON_CONF="/etc/hostapd/hostapd.conf"

Reiniciamos el equipo y listo, nuestra wireless estará en modo normal, para modo administrador debemos ejecutar:

sudo su
hostapd -dd

Y cuando terminemos de usarlo, otra vez reiniciamos el equipo.

Saludos,
JosueCool

Hola denuevo, sabes que

Hola denuevo, sabes que todabia no puedo hacer que me funcione denuevo el wifi, estuve jugando con el aircrack y ahi encontraba las redes, pero cuando dejo de usarlo y quiero conectarme, no me aparece ninguna red disponible, bueno gracias