Jak utworzyć punkt dostępu bez połączenia z Internetem?

8

Używam XUbuntu 17.10 i utworzyłem hotspot Wi-Fi, problem polega na tym, że chcę używać hotspotu dla samby i innych rzeczy, które nie wymagają połączenia z Internetem. jak utworzyć hotspot Wi-Fi, który nie udostępnia mojego połączenia internetowego? czy to w ogóle możliwe?

zola
źródło
Jak podłączasz komputer hosta (maszynę, która nadaje hotspot) do Internetu? Ethernet?
Jaksza
Korzystam z modemu Huawei 3G @Yaksha, jest on podłączony przez port USB
zola

Odpowiedzi:

2

Prostym rozwiązaniem jest użycie create_ap . Z ich strony:

create_ap to narzędzie, które pomaga utworzyć otwarty lub zaszyfrowany punkt dostępowy na dowolnym kanale, ukryć identyfikator SSID, wyłączyć komunikację między klientami (izolacja klienta), obsługę IEEE 802.11n i 802.11ac, metody udostępniania Internetu: NATed lub Bridged lub None (nie Dzielenie internetu)

W twoim przypadku chcesz utworzyć AP z komputerem z linuksem bez udostępniania Internetu z klucza sprzętowego klientom, ale możesz robić inne rzeczy Lan, takie jak udostępnianie plików.

Twoja karta Wi-Fi musi obsługiwać tworzenie AP

  1. Zainstaluj niektóre pakiety:

    sudo apt install util-linux bash procps hostapd iproute2 iw haveged net-tools dnsmasq iptables
    
  2. Zdobądź create_appaczkę. Z terminalu zrobić

    git clone https://github.com/oblique/create_ap
    cd create_ap
    sudo make install
    
  3. Po instalacji sprawdź nazwę modemu i karty Wi-Fi za pomocą ifconfig(przestarzałe) lub:

    iwconfig
    

    karta Wi-Fi zwykle jest wlan0lub wlp2s0modem USB jest eth0. twój może być inny

  4. Teraz uruchom hotspot z Linuksa bez Internetu:

    sudo create_ap -n wlp2s0 MyAccessPoint
    

Następnie możesz połączyć klientów. Twój Internet nie byłby udostępniany, ale możesz robić sambę i inne rzeczy bez Internetu

ptetteh227
źródło
1

Oto skrypt, który utworzy Hotspot, ale nie będzie udostępniać EthernetInternetu WiFiurządzeniom. Będziesz musiał zmienić nazwę interfejsu sieciowego zgodnie z systemem.

Wpisz, ip linkaby je znaleźć. Upewnij się również, że zainstalowałeś dnsmasqi hostapd.

sudo apt-get install ifconfig dnsmasq hostapd

Przed uruchomieniem skryptu będziesz musiał zatrzymać dowolne narzędzie do zarządzania siecią, które kontroluje 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

Skomentowałem polecenia iptablei packet forwarding. Jeśli chcesz w dowolnym momencie udostępnić internet urządzeniom, po prostu odkomentuj je.

Uruchom skrypt

sudo bash eth-to-wifi-route.sh

Źródło: eth-to-wifi-route.sh

Arpit Agarwal
źródło