¿Cómo crear un punto de acceso sin conexión a Internet?

8

Estoy usando XUbuntu 17.10 y he creado un punto de acceso wifi, el problema es que quiero usar el punto de acceso para samba y otras cosas que no requieren una conexión a Internet. ¿Cómo creo un punto de acceso wifi que no comparte mi conexión a Internet? ¿Es esto posible?

zola
fuente
¿Cómo está conectando la computadora host (la máquina que transmite el punto de acceso) a Internet? Ethernet?
Yaksha
Estoy usando un Huawei 3G Modem @Yaksha, está conectado a través de un puerto USB
zola

Respuestas:

2

Una solución simple es usar create_ap . Desde su sitio:

create_ap es una herramienta que lo ayuda a crear un AP abierto o encriptado en cualquier canal, ocultar su SSID, deshabilitar la comunicación entre clientes (aislamiento del cliente), soporte IEEE 802.11n y 802.11ac, métodos para compartir Internet: NATed o Bridged o None (no Compartiendo por medio de Internet)

Para su caso, desea crear un AP con la PC Linux sin compartir Internet desde su dongle a los clientes, pero puede hacer otras cosas de Lan, como compartir archivos.

Su tarjeta wifi debe ser compatible con la creación de AP

  1. Instalar algunos paquetes:

    sudo apt install util-linux bash procps hostapd iproute2 iw haveged net-tools dnsmasq iptables
    
  2. Consigue el create_appaquete. Desde la terminal hacer

    git clone https://github.com/oblique/create_ap
    cd create_ap
    sudo make install
    
  3. Después de la instalación, verifique el nombre de su módem y tarjeta wifi con ifconfig(en desuso) o:

    iwconfig
    

    la tarjeta wifi generalmente es wlan0o wlp2s0y el módem usb es eth0. el tuyo puede ser diferente

  4. Ahora inicie el punto de acceso desde su linux sin internet:

    sudo create_ap -n wlp2s0 MyAccessPoint
    

Luego puede conectar clientes. Tu internet no se compartiría pero puedes hacer samba y otras cosas sin internet

ptetteh227
fuente
1

Aquí hay un script que creará Hotspot pero no compartirá EthernetInternet con los WiFidispositivos. Deberá cambiar el nombre de la interfaz de red de acuerdo con su sistema.

Escribe ip linkpara encontrarlos. Además, asegúrese de haber instalado dnsmasqy hostapd.

sudo apt-get install ifconfig dnsmasq hostapd

Antes de ejecutar el script, deberá detener cualquier herramienta de administración de red que esté controlando WiFi.

eth-to-wifi-route.sh

#!/bin/bash

# Share Eth with WiFi Hotspot
#
# This script is created to work with Raspbian Stretch
# but it can be used with most of the distributions
# by making few changes. 
#
# Make sure you have already installed `dnsmasq` and `hostapd`
# Please modify the variables according to your need
# Don't forget to change the name of network interface
# Check them with `ifconfig`

ip_address="192.168.2.1"
netmask="255.255.255.0"
dhcp_range_start="192.168.2.2"
dhcp_range_end="192.168.2.100"
dhcp_time="12h"
eth="eth0" # replace it with Huawei 3G Modem interface
wlan="wlan0"
ssid="Arpit-Raspberry"
psk="arpit1997"

sudo rfkill unblock wlan &> /dev/null
sleep 2

#sudo iptables -F
#sudo iptables -t nat -F
#sudo iptables -t nat -A POSTROUTING -o $eth -j MASQUERADE  
#sudo iptables -A FORWARD -i $eth -o $wlan -m state --state RELATED,ESTABLISHED -j ACCEPT  
#sudo iptables -A FORWARD -i $wlan -o $eth -j ACCEPT 

#sudo sh -c "echo 1 > /proc/sys/net/ipv4/ip_forward"

sudo ifconfig $wlan $ip_address netmask $netmask

sudo ip route del 0/0 dev $wlan &> /dev/null
a=`route | awk "/${eth}/"'{print $5+1;exit}'`
sudo route add -net default gw $ip_address netmask 0.0.0.0 dev $wlan metric $a

echo -e "interface=$wlan \n\
bind-interfaces \n\
server=8.8.8.8 \n\
domain-needed \n\
bogus-priv \n\
dhcp-range=$dhcp_range_start,$dhcp_range_end,$dhcp_time" > /etc/dnsmasq.conf

sudo systemctl restart dnsmasq

echo -e "interface=$wlan\n\
driver=nl80211\n\
ssid=$ssid\n\
hw_mode=g\n\
ieee80211n=1\n\
wmm_enabled=1\n\
macaddr_acl=0\n\
auth_algs=1\n\
ignore_broadcast_ssid=0\n\
wpa=2\n\
wpa_key_mgmt=WPA-PSK\n\
wpa_passphrase=$psk\n\
rsn_pairwise=CCMP" > /etc/hostapd/hostapd.conf

sudo systemctl restart hostapd
sudo systemctl status hostapd &> /dev/null
if [ "$?" != 0 ];then
    echo "Some Network Management tool is running, which is stopping" 
    echo "hostapd to be configured."
    echo "Please stop that and again run the script."
fi

He comentado los comandos iptabley packet forwarding. Si en algún momento necesita dar internet a los dispositivos, simplemente descomentelos.

Ejecute el script

sudo bash eth-to-wifi-route.sh

Fuente: eth-to-wifi-route.sh

Arpit Agarwal
fuente