Wie erstelle ich einen Hotspot ohne Internetverbindung?

8

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, der meine Internetverbindung nicht teilt? ist das überhaupt möglich

zola
quelle
Wie verbinden Sie den Host-Computer (den Computer, der den Hotspot sendet) mit dem Internet? Ethernet?
Yaksha
Ich benutze ein Huawei 3G Modem @Yaksha, es ist über einen USB-Anschluss verbunden
zola

Antworten:

2

Eine einfache Lösung ist die Verwendung von create_ap . Von ihrer Website:

create_ap ist ein Tool, mit dem Sie einen offenen oder verschlüsselten AP auf einem beliebigen Kanal erstellen, Ihre SSID verbergen, die Kommunikation zwischen Clients deaktivieren (Client-Isolation), IEEE 802.11n- und 802.11ac-Unterstützung, Internetfreigabemethoden: NATed oder Bridged oder None (nein Internet-Freigabe)

Für Ihren Fall möchten Sie einen AP mit dem Linux-PC erstellen, ohne das Internet von Ihrem Dongle für Clients freizugeben, können aber auch andere Lan-Aufgaben wie die Dateifreigabe ausführen.

Ihre WLAN-Karte muss das Erstellen von AP 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 tun

    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 in der Regel wlan0oder wlp2s0und USB-Modem ist eth0. deine könnte anders sein

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

    sudo create_ap -n wlp2s0 MyAccessPoint
    

Sie können dann Clients verbinden. Ihr Internet würde nicht geteilt, aber Sie können Samba und andere Dinge ohne Internet tun

ptetteh227
quelle
1

Hier ist ein Skript , das Hotspot schaffen wird , aber nicht das teilt 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. Also, stellen Sie sicher , dass Sie installiert haben , dnsmasqund hostapd.

sudo apt-get install ifconfig dnsmasq hostapd

Bevor Sie das Skript ausführen, müssen Sie alle Netzwerkverwaltungstools stoppen, die die Steuerung übernehmen 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

Ich habe die Befehle iptableund kommentiert packet forwarding. Wenn Sie den Geräten jederzeit Internet geben müssen, kommentieren Sie sie einfach aus.

Führen Sie das Skript aus

sudo bash eth-to-wifi-route.sh

Quelle: eth-to-wifi-route.sh

Arpit Agarwal
quelle