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.