Ich mache eine GUI-Anwendung, die meinen Laptop steuert, damit er als WLAN-Hotspot fungiert. Ich kann Verteilungen ändern, um eine Lösung zu finden, die im Allgemeinen für alle Verteilungen funktioniert. Ich mache das gerade auf Fedora 17.
Die Verwendung der Schaltfläche "Als Hotspot verwenden" von NetworkManager eignet sich sehr gut zum Erstellen eines Ad-hoc-Hotspots:
Ich möchte diese Funktionalität mit Terminalbefehlen neu erstellen.
Im Folgenden sind zwei Methoden aufgeführt, mit denen ich versucht habe, dies zu erreichen, aber ich habe noch keine Lösung gefunden.
Methode 1: iwconfig
Unter Verwendung von Recherchen aus dem Internet habe ich den folgenden Befehl ausprobiert:
# ifconfig wlan0 10.42.0.1 netmask 255.555.255.0 broadcast 10.42.0.255 up
# iwconfig wlan0 essid my-lappy mode ad-hoc key 0123456789
# iptables-restore < saved-hotspot-iptables
# echo 1 > /proc/sys/net/ipv4/ip_forward
# dhclient wlan0
Wo saved-hotspot-iptables
ist eine Datei, die ich iptables-save > saved-hotspot-iptables
mit den von der Funktion "Als Hotspot verwenden" festgelegten iptables generiert habe ?
Methode 1 Problem
Geräte können die SSID sehen, aber keine Verbindung herstellen. Beim Laufen wird ip a
Folgendes über wlan0 angezeigt:
...
3: wlan0: <NO-CARRIER,BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state DORMANT qlen 1000
...
Hinweis NO-CARRIER
ist vorhanden, und der Zustand ist DORMANT
statt UP
.
Laufen ifconfig wlan0
zeigt folgendes:
...
wlan0: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500
...
Beachten Sie, dass RUNNING
als eines der Flags fehlt.
Methode 2: nmcli
Wenn die Schaltfläche "Als Hotspot verwenden" von NetworkManager mindestens einmal auf dem System gedrückt wird, /etc/sysconfig/network-scripts/ifcfg-Hotspot
wird sie erstellt und ich kann den folgenden Befehl verwenden, um einen funktionierenden Hotspot zu starten:
# ifconfig wlan0 up
# nmcli con up id Hotspot
# iwconfig wlan0 essid my-lappy key 0123456789
Methode 2 Problem
Wenn der Benutzer im NetworkManager noch nie auf "Als Hotspot verwenden" geklickt hat, nmcli con up id Hotspot
funktioniert dies nicht. Ich habe nachgesehen nm-connection-editor --create
, konnte aber nicht viele Informationen finden. Ich habe mich auch mit dem manuellen Erstellen befasst, /etc/sysconfig/network-scripts/ifcfg-Hotspot
aber diese Methode scheint nicht elegant oder auf andere Distributionen erweiterbar zu sein.
Antworten:
Siehe meine Antwort auf "Erstellen Sie einen drahtlosen Zugangspunkt und teilen Sie die Internetverbindung mit
nmcli
"Ich habe mit dem GNOME Network-Manager einen Hotspot erstellt. Das Problem war, dass ich die SSID und das Passwort in der GUI nicht konfigurieren kann. Wenn Sie den Hotspot mit der Network-Manager-GUI erstellen, wird die Datei erstellt
/etc/NetworkManager/system-connections/Hotspot
. In dieser Datei können die SSID und das Passwort bearbeitet werden.Der Inhalt der Datei sieht folgendermaßen aus:
Ich habe nur die
ssid
und diepsk
Eigenschaften an meine Bedürfnisse angepasst. Dann habe ich meinen Computer neu gestartet, weil der Befehl:sudo systemctl restart NetworkManager
für den Netzwerkneustart nicht richtig zu funktionieren scheint, weil ich in der Network-Manager-GUI keine drahtlosen Netzwerkeinstellungen mehr habe und auch der folgende Befehl nicht vor dem Neustart funktioniert hat. Nach dem Neustart können Sie mit demnmcli
Befehl , um den Access Point zu starten.YOUR_WIFI_INTERFACE
Sie können mit dem Befehl herausfindeniwconfig
.quelle
Es gibt eine spezielle Option in
nmcli
:Weitere Infos aus dem Handbuch :
quelle
Ein DHCP-Server wurde benötigt, um WLAN-Verbindungen IP-Adressen zuzuweisen. Ich habe
dnsmasq
einen DNS- und DHCP-Server verwendet.Mit den folgenden Befehlen können Sie einen Ad-hoc-WLAN-Hotspot starten:
quelle