Como criar hotspot sem conexão com a internet?

8

Estou usando o XUbuntu 17.10 e criei um ponto de acesso wifi, o problema é que eu quero usar o ponto de acesso para samba e outras coisas que não exigem conexão à Internet. como faço para criar um hotspot wifi que não compartilha minha conexão com a internet? isso é possível?

zola
fonte
Como você está conectando o computador host (a máquina que transmite o ponto de acesso) à Internet? Ethernet?
Yaksha
Eu estou usando um Huawei modem 3G @Yaksha, que é ligado através de uma porta USB
zola

Respostas:

2

Uma solução simples é usar o create_ap . Do site deles:

create_ap é uma ferramenta que ajuda a criar um ponto de acesso aberto ou criptografado em qualquer canal, oculta seu SSID, desativa a comunicação entre clientes (isolamento do cliente), suporte a IEEE 802.11n e 802.11ac, métodos de compartilhamento da Internet: NATed ou Bridged ou None (não Compartilhamento de Internet)

Para o seu caso, você deseja criar um ponto de acesso com o linux pc sem compartilhar a Internet do seu dongle com os clientes, mas pode fazer outras coisas na LAN, como o compartilhamento de arquivos.

Seu cartão wifi precisa suportar a criação de AP

  1. Instale alguns pacotes:

    sudo apt install util-linux bash procps hostapd iproute2 iw haveged net-tools dnsmasq iptables
    
  2. Pegue o create_appacote. Do terminal faça

    git clone https://github.com/oblique/create_ap
    cd create_ap
    sudo make install
    
  3. Após a instalação, verifique o nome do seu modem e placa wifi com ifconfig(obsoleto) ou:

    iwconfig
    

    a placa wifi normalmente é wlan0or wlp2s0e o modem usb é eth0. o seu pode ser diferente

  4. Agora inicie o hotspot no seu linux sem internet:

    sudo create_ap -n wlp2s0 MyAccessPoint
    

Você pode conectar clientes. Sua internet não seria compartilhada, mas você pode fazer samba e outras coisas sem internet

ptetteh227
fonte
1

Aqui está um script que criará o Hotspot, mas não compartilhará a EthernetInternet com os WiFidispositivos. Você precisará alterar o nome da interface de rede de acordo com o seu sistema.

Digite ip linkpara encontrá-los. Além disso, verifique se você instalou dnsmasqe hostapd.

sudo apt-get install ifconfig dnsmasq hostapd

Antes de executar o script, você terá que parar qualquer Ferramenta de Gerenciamento de Rede que esteja 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

Eu comentei os comandos iptablee packet forwarding. Se a qualquer momento você precisar fornecer internet aos dispositivos, descomente-os.

Execute o script

sudo bash eth-to-wifi-route.sh

Fonte: eth-to-wifi-route.sh

Arpit Agarwal
fonte