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
Installieren Sie einige Pakete:
sudo apt install util-linux bash procps hostapd iproute2 iw haveged net-tools dnsmasq iptables
Holen Sie sich das
create_ap
Paket. Vom Terminal ausgit clone https://github.com/oblique/create_ap cd create_ap sudo make install
Überprüfen Sie nach der Installation den Namen Ihres Modems und Ihrer WLAN-Karte mit
ifconfig
(veraltet) oder:iwconfig
die WLAN-Karte ist normalerweise
wlan0
oderwlp2s0
und das USB-Modem isteth0
. Bei Ihnen kann es anders seinStarten 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 Ethernet
Internet mit den WiFi
Gerä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 dnsmasq
und 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 iptable
und packet forwarding
Befehle 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