Create_AP: Script para compartir nuestra conexión a Internet por WiFi

Create_AP Wifi

La situación es la siguiente: Tenemos una Laptop con conexión a Internet y queremos compartir dicha conexión para usar nuestro Smartphone o Tablet a través de la WiFi.

Normalmente para conseguir esto, deberíamos crear una conexión WiFi, luego hacer uso de IPTables para el NAT, etc… Pero un usuario de ArchLinux ha creado un script, el cual nombró Create_AP y hace todo eso por nosotros.

Este script hace uso de hostapd + dnsmasq + iptables para crear un punto de acceso NAT, y de hostapd + brctl + dhclient para crear un Access Point. El comportamiento por defecto es un punto de acceso mediante NAT.

Instalación de Create_AP:

Para instalar Create_AP lo que hacemos es abrir un terminal y poner:

$ git clone https://github.com/oblique/create_ap
$ cd create_ap
$ sudo make install

Igual podemos simplemente correr un .sh que estará dentro de la carpeta. Para que funcione correctamente debemos tener instaladas las siguientes dependencias:

  • bash (para correr el script)
  • util-linux (para getopt)
  • hostapd
  • iproute2
  • iw
  • haveged (opcional)

Uso del Script

# Sin contraseña (red abierta):
create_ap wlan0 eth0 MyAccessPoint

# WPA + WPA2 con Password:
create_ap wlan0 eth0 MyAccessPoint MyPassword

# AP sin Internet compartida:
create_ap -n wlan0 MyAccessPoint MyPassword

# Puente de Red con Internet compartida:
create_ap -m bridge wlan0 eth0 MyAccessPoint MyPassword

Hay más información de como usar este script en el fichero README.md. Para iniciar el servicio simplemente ejecutamos en la consola:

# systemctl start create_ap

Y para iniciarlo automáticamente:

# systemctl enable create_ap

Conclusiones

A mi en lo personal el Script me funciona perfectamente, puedo conectar mi ZTE Open a mi Laptop mediante WiFi pero no he encontrado la forma de poder conectarme a Internet. Es posible que sea culpa de FirefoxOS que no tiene por defecto la opción de ponerle Proxy o algo así, no sé, pero sería bueno que compartieran su experiencia con nosotros en caso de que les funcione.


Deja tu comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

*

*

  1. Responsable de los datos: Miguel Ángel Gatón
  2. Finalidad de los datos: Controlar el SPAM, gestión de comentarios.
  3. Legitimación: Tu consentimiento
  4. Comunicación de los datos: No se comunicarán los datos a terceros salvo por obligación legal.
  5. Almacenamiento de los datos: Base de datos alojada en Occentus Networks (UE)
  6. Derechos: En cualquier momento puedes limitar, recuperar y borrar tu información.

  1.   Eduardo dijo

    EXCELENTE!

    Sirve para Ubuntu/Debian????

    Gracias!
    Eduardo

    1.    elav dijo

      De hecho creo que si, y si no creo que se puede modificar 😉 supongo que en este caso lo importante sería tener las dependencias necesarias.

      1.    dhunter dijo

        Confirmado en Debian Jessie, es una obra maestra el script.

        1.    elav dijo

          Pero pudiste usar el Internet desde tu teléfono?

          1.    dhunter dijo

            Si pero yo tengo un Android con MIUI que trae soporte para Proxy integrado.

        2.    eliotime3000 dijo

          Descargando ISO del netinstall de Debian Jessie en 3, 2, 1…

  2.   Jorgicio dijo

    Excelente. Algo así es necesario. Ya crearé mi propio paquete para Gentoo para que lo puedan probar.

    Se agradece 😀

    1.    elav dijo

      De nada 😉 creo que debemos agradecerle principalmente a su autor.

      1.    Jorgicio dijo

        Listo. Aquí mi layout de Gentoo. create_ap está dentro de net-wireless.

        https://github.com/jorgicio/jorgicio-gentoo

  3.   gustawho dijo

    Y, por supuesto, como es costumbre en Arch Linux, ya está en AUR 😀 https://aur.archlinux.org/packages/create_ap

    yaourt -S create_ap

    1.    bocono dijo

      como echar andar el create ap en arch

  4.   eliotime3000 dijo

    Excelente tip. No sabía que se podía compartir la red desde la PC con el WiFi.

    De cualquier forma, me servirá para mi netbook.

  5.   Ghermain dijo

    Lo probé con Kademar (64 bit) que es Arch y me funcionó, más tarde lo probaré en mi netbook con Kademar (32bit), pero creo lo haré desde AUR que ya está allí.
    A propósito aprovecho para recomendar esta distribución, siempre quise usar Arch pero era complicada su instalación y forma de usar pero con Kademar la pusieron cómoda y es fácil instalarla, usarla y actualizarla.
    Pueden ver una información acá y sería bueno conocer las opiniones que les motive:
    http://germanlancheros.blogspot.com.ar/2014/06/disponible-kademar-5-version-escritorio.html

  6.   rpayanm dijo

    Me funcionó perfecto en mi ubuntu 14.04, solo tuve que instalar una dependencia que me faltaba (hostapd) !!!

    Cuando necesitaba hacer esto tenía que ir a Windows y correr el Connectify. Ahora lo hago en Linux!!!

    Muchas gracias xD

  7.   otkmanz dijo

    Excelente aporte, muchas gracias opr compartir esto con nosotros!! Realmente muy útil, al principio no acababa de pillar lo de compartir wifi, estaba pensando: pero.. si un laptop está conectado en wifi, como va a compartir wifi? Pero he caído que te refieres a estar conectado con un Módem USB o simplemente a un módem, ahora tiene sentido jajaja
    Muchas gracias por este aporte!

    1.    Ocelan dijo

      Yo tampoco lo pillaba, hasta que leí tu comentario 😀

  8.   ¿ dijo

    ¿qué paquetes habría que eliminar para NO tener ninguna conexión a internet?

  9.   Keiller dijo

    Funciono todo bien en Ubuntu 14.04. Gracias.

  10.   cristianhcd dijo

    ERROR: Maybe your WiFi adapter does not fully support virtual interfaces. Try again with –no-virt.

    :cry

    y si agrego –no-virt
    Cannot find device «wlan0»

    en fedora 20 con gnome 3.12

    1.    elav dijo

      Eso es porque en Fedora la interfaz de WiFi no debe ser wlan0, eso era antes.. para saber el nombre de tu interfaz prueba con:
      ip link

      1.    dhunter dijo

        La mía era un nombre largísimo en F19 y ahora en F20 es em1.

  11.   Kuroro dijo

    Hola, tu Script me funciono con exito en Fedora 20 x64 – Gnome. Muchas gracias! 😀 . Pero ahora tengo un problema: No puedo conectarte a ninguna red, no me reconoce ninguna, ¿Cuál crees que sea la falla?

    1.    KZKG^Gaara dijo

      Tocaste algo en el /etc/NetworkManager/NetworkManager.conf no?
      Simplemente ponle un símbolo de número (#) delante de las líneas que agregaste.

      1.    Kuroro dijo

        Realmente no toque ninguna configuración, solo ejecute el script y al cerrar la terminal ya me reconocia las redes. Help me, no puedo conectarme a internet desde Fedora 🙁

        1.    Kuroro dijo

          … y al cerrar la terminal ya NO me reconocía las redes

      2.    Kuroro dijo

        Solo puede ver la redes por la terminal, pero no lo puedo hacer con la interfaz gráfica Imagen

  12.   gabriel dijo

    Hola, les comento que compartir internet a un telefono o tablet se puede hacer desde hace mucho con el fedora 20 kde, yendo a editor de conexiones luego a añadir, seleccionar inalámbrica compartida, en la solapa inalambrica elegir en restringir al dispositivo la red por donde quieren emitir la señal para compartir y listo ya tienen internet en cualquier celular o tablet. Espero que les sirva!

  13.   moa dijo

    me pueden ayudar, me sale el siguiente error al correr create_ap wlan0 eth0 MyAccessPoint MyPassword

    ERROR: Your adapter can not be a station (i.e. be connected) and an AP at the same time

  14.   ivan dijo

    hola, soy un novato en esto y a la hora de intentarlo con la linea
    $ sudo make install
    me voto este mensaje «is not in the sudoers file»
    …en fedora 21 version de gnome 3.14

    1.    KZKG^Gaara dijo

      Debes agregar tu usuario al grupo wheel, o bien poner en el archivo /etc/sudoers lo siguiente:
      ivan ALL=(ALL) ALL

      Eso claro, suponiendo que tu usuario sea ivan.

  15.   JP dijo

    Todo perfecto. Pero se queda esperando por una IP DHCP y nunca se conecta

    1.    KZKG^Gaara dijo

      Tienes instalados todos los paquetes necesarios? Lee el archivo README o algo así

  16.   mat1986 dijo

    Intenté usar este script con mi módem USB (Huawei E353) y no me funcionó. Me sale el mensaje de «ERROR: Maybe your WiFi adapter does not fully support virtual interfaces. Try again with –no-virt.». Yo creo que es problema del módem, pasé toda la tarde en casa de mi madre haciéndolo funcionar y no pude xD

  17.   TOfriki dijo

    en este enlace se explica como hacerlo sin el script

    http://seravo.fi/2014/create-wireless-access-point-hostapd

  18.   Pablo dijo

    Buenas, estoy elaborando mi proyecto final de curso de ASIR y necesito crear un punto de acceso wifi por lo que este articulo me ha llamado mucho la atencion.
    Primero de todo muy buena explicación, pero tengo un problema y es que me salta el siguiente error al intentar crear un puente de red con internet compartido:
    root@pablo-Aspire-5741G:/home/pablo/create_ap# create_ap -m bridge wlan0 eth0 Proyectofinal proyectofinal
    WARN: Your adapter does not fully support AP virtual interface, enabling –no-virt
    Config dir: /tmp/create_ap.wlan0.conf.DgNR09hJ
    PID: 4816
    Network Manager found, set wlan0 as unmanaged device… DONE
    Sharing Internet using method: bridge
    Create a bridge interface… br5 created.
    hostapd command-line interface: hostapd_cli -p /tmp/create_ap.wlan0.conf.DgNR09hJ/hostapd_ctrl
    Configuration file: /tmp/create_ap.wlan0.conf.DgNR09hJ/hostapd.conf
    Failed to create interface mon.wlan0: -23 (Too many open files in system)
    Try to remove and re-create mon.wlan0
    Failed to update rate sets in kernel module
    Using interface wlan0 with hwaddr f0:7b:cb:16:52:cc and ssid ‘Proyectofinal’

    Con respecto a la ultima linea, anteriormente intente configurarlo manualmente sin instalar nada en la interfaz wlan pero no funciono, asique la elimine, no obstante sigue saliendo como que existe.

    Podría alguien echarme un cable? Gracias…!

  19.   jesusguevarautomotriz dijo

    Esto es impresionante me funciono perfecto en mi Lubuntu 15.04.

    Desde que descubri Conectify en Windows, estaba tratando de buscar la misma solucion para linux hasta hoy que me tope con este articulo, creo que esto deberia ser mas difundido.

    Como puedo ver los clientes conectados?, su IP y monitorearlos en general?

  20.   alejandro dijo

    Hola, instale todo lo detallado y despues ejecute y funciono perfectamente, lo unico voy a tener que buscar como hacer para que se ejecute al encender la pc ya que esa parte no me esta saliendo. gracias por compartir.

  21.   cristiand391 dijo

    Holaaa, estoy en Xubuntu 14.04, con el cable ethernet y este script funciono de 10 unos dias, cree el AP y mis telefonos con android conectaban sin problemas a internet. Hace como 1 semana que tengo problemas con el internet, el telefono conecta a la red pero la velocidad de internet es muy lenta (4 o 5kb/s) a comparacion de antes (400 o 500kb/s), alguien sabe cual puede ser el problema?

    Aclaro que tengo el hostapd de Saucy por que con el de Trusty no hay forma de crear un AP.

  22.   ofer dijo

    Para compartir de WI-FI a WI-FI, es necesario tener dos tarjetas de red inalámbricas, por ejemplo la que viene incluida en una laptop y otra conectada por Usb. Entonces el comado quedaria más o menos así:

    create_ap wlan0 wlan1 MyAccessPoint Micontraseña

  23.   tecnoforense dijo

    Excelente te felicito por el aporte, muy bueno me sirvio. Lo descargue y confirme que tenia los programas necesarios instalados en PointLinux Distribucion muy buena basada en Debian jessie. Tengo una laptop con tarjeta wifi usb y un tarjeta wifi interna.
    – Lo descargue y descomprimi
    – Luego lo ejecute como usuario root: ./create_ap create_ap wlan0 wlan1 vinotinto parangacutimiricuaro
    – Se ejecuto el proceso y al momento en mi smartphone ya tenia una señal wifi con internet… 🙂

    Espero que mi comentario ayude a otros. Gracias.

  24.   David Fabry dijo

    Funciona de pelos con el LXLE con los paquetes indicados. Excelente script muchas gracias por compartirlo

    http://www.lxle.net/articles/?post=3264-bit-versions-of-lxle-14043-released

  25.   alicia nicole San dijo

    no puedo uniciar el programa me dice que
    root@linux:/home/linux/create_ap# systemctl start create_ap
    systemctl: no se encontró la orden
    root@linux:/home/linux/create_ap#
    de ahi no pase 🙁

  26.   El Rey dijo

    Hola, quisiera saber como administrar la cantidad de KB o MB que estoy brindando a los que están conectados mediante este script,

    Saludos
    Gracias de antemano

  27.   christlove dijo

    Saludos, estuve probando en Debian Weezy y me crea el AP pero cuando intento autenticarme en el dispositivo androide o en una laptop se demora en obtener ip y al final no me autentica. Alguien que me pueda ayudar.

  28.   David dijo

    Probaste cambiando el método de codificación del AP ?

  29.   Pedritin dijo

    Soy nuevo en esto donde esta el link para descargar el script

  30.   JOSE dijo

    Saludos…

    He podido crear 2 APs simultaneamente con el Script. Es posible crear mas de 2 APs con esta herramienta??

  31.   David Fabry dijo

    No se si se puede, el punto aquí es cual sería la utilidad práctica de seguir creando AP, el tener AP virtuales sobre una nic baja el rendimiento dado que estás compartiendo el recurso.

  32.   JOSE dijo

    Gracias por tu respuesta David…

    El tema es que estoy realizando un trabajo sobre virtualizacion y necesito verificar el comportamiento de la virtualizacion, en un escenario con mas de 2 AP virtuales. Ojala alguno de ustedes tenga una solucion.

    Saludos

  33.   luisg595 dijo

    Cuando ejecuto create_ap wlan0 eth0 MyAccessPoint MyPassword me da el siguiente error:
    ERROR: Your adapter can not be a station (i.e. be connected) and an AP at the same time
    Qué está sucediendo?

  34.   yoandri dijo

    uso manjaro 16 a mi me da este error si alguien pudiera ayudarme ERROR: Your adapter can not transmit to channel 36, frequency band 5GHz.

  35.   Yoandri dijo

    uso manjaro 16 cuando ejecuto create_ap me da este error ERROR: Your adapter can not transmit to channel 36, frequency band 5GHz.

  36.   Andrés Eduardo García Márquez dijo

    falta el paquete dnsmasq a la instalación

  37.   Beta2404 dijo

    perfecto luego de solucionar un par de desastres en configuracion q tenia antes, logre usarlo sin problemas mayores
    ahora recibo internet desde mi tarjeta wifi interna y comparto internet desde la misma tarjeta por la otra antena de esta (tiene dos antena, en una tp-link tl-wn851nd )

  38.   Wasosky dijo

    wow!!! simplemente sorprendido fue una respuesta a todos mis problemas y aun en 2017 works 120%

  39.   hipy dijo

    Hola, gracias por el aporte, muy buena solución para poner a funcionar los trastos viejos que muchos tenemos. Se que el post es algo viejito pero todavía esta vigente para muchos, me gustaría saber si alguien por acá ha logrado realizar una conexión a una red que tenga un servidor proxy, me explico, ya tengo funcionando el AP de mil maravillas pero no consigo compartir la conexión de Internet que tengo con un servidor proxy y no quiero volver a montar otro proxy en el AP. Si alguien ha logrado realizar algo parecido y puede compartir su experiencia se lo agradecería.

  40.   Yino dijo

    Hola muy buenas y saludos a todos, soy nuevo en el mundillo de Linux, instalé Linux Mint 19 y ya me dió el primer problema y me gustaria saber si me pueden ayudar, necesito crear un punto de acceso o mas conocido como hotspot, pero repetir la señal y captarla con la misma tarjeta wifi que posee la lapto o sea sin red cableada pues lo hacía muy bien con windows sin instalar niguna otro tp-link usb ni nada, me gustaria saber como puedo lograrlo por favor, pues me permite crear el host pot muy bien pero no al conectarme a la red inalambrica para captar señal de internet, se desconecta el hotspot. Agradezco la ayuda que me puedan dar. Saludos a todos. Si linux no hace lo que hace windows en ese sentido. creanme que Linux al mmenos para mi no sirve.

  41.   Juan Cruz dijo

    COMO ES QUE SE CREA EL SCRIPT PARA HACER EL HOT-SPOT??? LO INTENTE DE LA SIGUIENE MANERA:

    #!/bin/bash

    clear

    create_ap wlan0 eth0 red 12345

    create_ap -m bridge wlan0 eth0 red 12345

    systemctl enable create_ap

    Espero su ayuda amigos

  42.   RFG dijo

    Me da el mismo error que a Yoandri_

    ERROR: Your adapter can not transmit to channel 104, frequency band 5GHz.