Wie erstelle ich einen Hotspot ohne Internetverbindung?

Wie erstelle ich einen Hotspot ohne Internetverbindung?

Ich verwende XUbuntu 17.10 und habe einen WLAN-Hotspot erstellt. Das Problem ist, dass ich den Hotspot für Samba und andere Dinge verwenden möchte, für die keine Internetverbindung erforderlich ist. Wie erstelle ich einen WLAN-Hotspot, dernichtmeine Internetverbindung teilen? ist das überhaupt möglich?

Antwort1

Eine einfache Lösung besteht darin,Erstellen_AP. Von ihrer Website:

create_ap ist ein Tool, mit dem Sie einen offenen oder verschlüsselten AP auf jedem Kanal erstellen, Ihre SSID verbergen, die Kommunikation zwischen Clients deaktivieren (Client-Isolierung), IEEE 802.11n- und 802.11ac-Unterstützung, Internet-Sharing-Methoden: NATed oder Bridged oder None (kein Internet-Sharing)

In Ihrem Fall möchten Sie mit dem Linux-PC einen AP erstellen, ohne das Internet von Ihrem Dongle für Clients freizugeben, aber andere LAN-Aufgaben, wie etwa die gemeinsame Nutzung von Dateien, erledigen können.

Ihre WLAN-Karte muss die Erstellung von APs unterstützen

  1. Installieren Sie einige Pakete:

    sudo apt install util-linux bash procps hostapd iproute2 iw haveged net-tools dnsmasq iptables
    
  2. Holen Sie sich das create_apPaket. Vom Terminal aus

    git clone https://github.com/oblique/create_ap
    cd create_ap
    sudo make install
    
  3. Überprüfen Sie nach der Installation den Namen Ihres Modems und Ihrer WLAN-Karte mit ifconfig(veraltet) oder:

    iwconfig
    

    die WLAN-Karte ist normalerweise wlan0oder wlp2s0und das USB-Modem ist eth0. Bei Ihnen kann es anders sein

  4. Starten Sie jetzt den Hotspot von Ihrem Linux ohne Internet:

    sudo create_ap -n wlp2s0 MyAccessPoint
    

Sie können dann Clients verbinden. Ihr Internet wird nicht geteilt, aber Sie können Samba und andere Dinge ohne Internet machen

Antwort2

Hier ist ein Skript, das einen Hotspot erstellt, abernichtTeilen Sie das EthernetInternet mit den WiFiGeräten. Sie müssen den Namen der Netzwerkschnittstelle entsprechend Ihrem System ändern.

Geben Sie ein ip link, um sie zu finden. Stellen Sie außerdem sicher, dass Sie dnsmasqund installiert haben hostapd.

sudo apt-get install ifconfig dnsmasq hostapd

Bevor Sie das Skript ausführen, müssen Sie alleNetzwerkverwaltungstoolwelches kontrolliert WiFi.

eth-zu-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

Ich habe die iptableund packet forwardingBefehle kommentiert. Wenn Sie den Geräten irgendwann Internetzugriff geben müssen, heben Sie einfach die Kommentierung auf.

Ausführen des Skripts

sudo bash eth-to-wifi-route.sh

Quelle:eth-zu-wifi-route.sh

verwandte Informationen