WiFi Hotspot mit dem Linux NetworkManager erstellen
Einen WiFi Hotspot ohne hostapd und dnsmasq und ohne /etc/network/interfaces einrichten. Getestet mit Q4OS Linux Centaurus & Trinity Desktop auf Debian 10.7. Funktioniert auch mit Linux Mint 20.
Pakete installieren
apt update && apt install network-manager
Sind die Pakete hostapd oder dnsmasq installiert, deinstallieren. Oder diese Anleitung wird nicht funktionieren weil der NetworkManager das Paket dnsmasq-base benötigt und nicht dnsmasq, um DHCP- und DNS Services bei geteilter Internetverbindung zur Verfügung stellen zu können.
apt remove hostapd dnsmasq
Master Mode
Das Interface muss den Modus AP unterstützen.
nmcli -f WIFI-PROPERTIES device show wlan0
WIFI-PROPERTIES.WEP: ja
WIFI-PROPERTIES.WPA: ja
WIFI-PROPERTIES.WPA2: ja
WIFI-PROPERTIES.TKIP: ja
WIFI-PROPERTIES.CCMP: ja
WIFI-PROPERTIES.AP: ja
WIFI-PROPERTIES.ADHOC: ja
WIFI-PROPERTIES.2GHZ: ja
WIFI-PROPERTIES.5GHZ: nein
iw list | less
nmcli device status
DEVICE TYPE STATE CONNECTION
eth0 ethernet verbunden LAN
wlan0 wifi nicht verbunden --
lo loopback nicht verwaltet --
ifconfig
wlan0: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500
ether 00:00:00:00:00:00 txqueuelen 1000 (Ethernet)
RX packets 8465 bytes 1312953 (1.2 MiB)
RX errors 0 dropped 39 overruns 0 frame 0
TX packets 15953 bytes 7343867 (7.0 MiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
iwconfig
wlan0 IEEE 802.11 ESSID:off/any
Mode:Managed Access Point: Not-Associated Tx-Power=20 dBm
Retry short limit:7 RTS thr=2347 B Fragment thr:off
Encryption key:off
Power Management:off
nmcli device show wlan0
GENERAL.DEVICE: wlan0
GENERAL.TYPE: wifi
GENERAL.HWADDR: 00:00:00:00:00:00
GENERAL.MTU: 1500
GENERAL.STATE: 30 (nicht verbunden)
GENERAL.CONNECTION: --
GENERAL.CON-PATH: --
nmcli -f GENERAL device show wlan0
GENERAL.DEVICE: wlan0
GENERAL.TYPE: wifi
GENERAL.NM-TYPE: NMDeviceWifi
GENERAL.VENDOR: Edimax Technology Co., Ltd
GENERAL.PRODUCT: EW-7811Un 802.11n Wireless Adapter [Realtek RTL8188CUS]
GENERAL.DRIVER: rtl8192cu
GENERAL.DRIVER-VERSION: 4.19.0-13-686-pae
GENERAL.FIRMWARE-VERSION: N/A
GENERAL.HWADDR: 00:00:00:00:00:00
GENERAL.MTU: 1500
GENERAL.STATE: 30 (nicht verbunden)
GENERAL.REASON: 39 (Das Gerät wurde durch den Benutzer oder Client getrennt)
GENERAL.UDI: /sys/devices/pci0000:00/0000:00:1d.2/usb3/3-1/3-1:1.0/net/wlan0
GENERAL.IP-IFACE: --
GENERAL.IS-SOFTWARE: nein
GENERAL.NM-MANAGED: ja
GENERAL.AUTOCONNECT: ja
GENERAL.FIRMWARE-MISSING: nein
GENERAL.NM-PLUGIN-MISSING: nein
GENERAL.PHYS-PORT-ID: --
GENERAL.CONNECTION: --
GENERAL.CON-UUID: --
GENERAL.CON-PATH: --
GENERAL.METERED: unbekannt
nmcli general
NetworkManager
vi /etc/NetworkManager/NetworkManager.conf
[device]
wifi.scan-rand-mac-address=no
# Fehlermeldung "CTRL-EVENT-SCAN-FAILED ret=-95 retry=1" beheben
# match-device=driver:iwlwifi
[ifupdown]
managed=false
[main]
plugins=ifupdown,keyfile
[keyfile]
# Vom NetworkManger ausschliessen
# unmanaged-devices=mac:<hwaddr>
# unmanaged-devices=interface-name:<interface>
Falls in der Logdatei mit dem Befehl
tail -f /var/log/syslog | grep --color wlan0
diese Fehlermeldeung 1x pro Sekunde angezeigt wird:
CTRL-EVENT-SCAN-FAILED ret=-95 retry=1
in der NetworkManager.conf bei [device] die Zeile
match-device=driver:iwlwifi
einfügen.
Wenn managed=true, dann wird /etc/network/interfaces vom NetworkManager unterstützt was zu Konflikten führen kann.
NetworkManager neu starten
service network-manager restart
Status
service network-manager status
Verbindungen
Der NetworkManager speichert die Konfigurationsdateien der Verbindungen in
ls -al /etc/NetworkManager/system-connections
Verbindungen anzeigen
nmcli connection show
Siehe auch: nmcli Schummelzettel
Funknetzwerk erstellen
Zuerst nachsehen auf welchen Kanälen die anderen Hospots senden und einen freien Kanal für die Konfiguration auswählen. Wegen der Kanalüberlappung Kanal 1, 5, 9 oder 13 bevorzugen.
Kanäle und Frequenzen
iwlist wlan0 channel
wlan0 13 channels in total; available frequencies :
Channel 01 : 2.412 GHz
Channel 02 : 2.417 GHz
Channel 03 : 2.422 GHz
Channel 04 : 2.427 GHz
Channel 05 : 2.432 GHz
Channel 06 : 2.437 GHz
Channel 07 : 2.442 GHz
Channel 08 : 2.447 GHz
Channel 09 : 2.452 GHz
Channel 10 : 2.457 GHz
Channel 11 : 2.462 GHz
Channel 12 : 2.467 GHz
Channel 13 : 2.472 GHz
nmcli device wifi list
N-USE SSID MODE CHAN RATE SIGNAL BARS SECURITY
HH00VM_0000_0.5G Infra 1 270 Mbit/s 74 ▂▄▆_ WPA2
A1-000000 Infra 1 195 Mbit/s 32 ▂▄__ WPA2
* UPC Wi-Free Infra 11 130 Mbit/s 30 ▂___ WPA2 802.1X
UPC Wi-Free Infra 11 130 Mbit/s 22 ▂___ WPA2 802.1X
UPC-guest0000000 Infra 11 130 Mbit/s 20 ▂___ WPA1 WPA2
UPC0000000 Infra 11 130 Mbit/s 20 ▂___ WPA1 WPA2
-- Infra 100 405 Mbit/s 20 ▂___ WPA1 WPA2
systemctl restart wpa_supplicant wpa_cli -iwlan0 scan_results
bssid / frequency / signal level / flags / ssid
00:00:00:00:00:00 2437 -64 [WPA2-PSK-CCMP][WPS][ESS] A1-000000
00:00:00:00:00:00 2412 -66 [WPA2-PSK-CCMP+TKIP][WPS][ESS] HH00VM_0000_2.4G
00:00:00:00:00:00 5300 -79 [WPA2-PSK-CCMP][WPS][ESS] A1-000000
00:00:00:00:00:00 5500 -79 [WPA-PSK-TKIP][WPA2-PSK-CCMP][ESS] \x00\x00\x00\x00\x00\x00
00:00:00:00:00:00 2462 -78 [WPA2-EAP-CCMP+TKIP][ESS] UPC Wi-Free
Entweder auf der Kommandozeile das Funknetzwerk erstellen mit
# nmcli connection down Hotspot # nmcli connection delete Hotspot nmcli device wifi hotspot ifname wlan0 con-name Hotspot ssid Hotspot band bg channel 3 password 'GeheimesPasswort' nmcli connection modify Hotspot ipv4.method shared ipv4.addresses 192.168.167.1/24 ipv4.gateway 192.168.167.1 nmcli connection up Hotspot nmcli connection show --active
und fertig.
Oder im NetworkManager den Menüpunkt Verbindungen bearbeiten… aufrufen
und ein neues Funknetzwerk erstellen
Im Reiter Funknetzwerk die SSID vergeben, Modus=Hotspot
Im Reiter Sicherheit des Funknetzwerkes das WiFi Passwort eingeben, Sicherheit=WPA & WPA2 Personal
Im Reiter IPv4-Einstellungen als Methode Gemeinsam mit anderen Rechnern auswählen und optional das Netzwerk und Gateway hinzufügen. Wenn frei gelassen, wird das Netz 10.42.0.1/24 mit Gateway 10.42.0.1 zugewiesen.
Speichern und fertig. Das Funknetzwerk ist nun erstellt aber es sind noch Anpassungen in der Konfigurationsdatei der Verbindung notwendig, insbesondere im Abschnitt [wifi-security].
Verbindung bearbeiten
vi /etc/NetworkManager/system-connections/Hotspot.nmconnection
[connection]
id=Hotspot
uuid=00000000-0000-0000-0000-000000000000
type=wifi
autoconnect=true
permissions=
timestamp=0000000000
[wifi]
band=bg
channel=3
hidden=false
mac-address=01:02:03:04:05:06
mac-address-blacklist=
mode=ap
seen-bssids=00:00:00:00:00:00;
ssid=Hotspot
[wifi-security]
group=ccmp;
key-mgmt=wpa-psk
pairwise=ccmp;
proto=rsn;
psk=MeinGeheimesHotspotPasswort
[ipv4]
address1=192.168.167.1/24,192.168.167.1
dns-search=
method=shared
[ipv6]
addr-gen-mode=stable-privacy
dns-search=
ip6-privacy=0
method=shared
Fertig
NetworkManager neu starten
service network-manager restart
und die Konfigurationsdatei der Verbindung sichern.
cd /etc/NetworkManager/system-connections cp Hotspot.nmconnection Hotspot.nmconnection.wlan0
Dies für den Fall dass die NetworkManager GUI die Konfiguration fälschlicherweise überschreibt und die Verbindung nicht mehr funktioniert.
WLAN Passwort anzeigen
nmcli dev wifi show-password
Test
Die Schnittstelle hat jetzt eine IP-Adresse
ifconfig
wlan0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.167.1 netmask 255.255.255.0 broadcast 192.168.167.255
inet6 fe80::0000:0000:0000:0000 prefixlen 64 scopeid 0x20<link>
ether 00:00:00:00:00:00 txqueuelen 1000 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 12 overruns 0 frame 0
TX packets 387 bytes 76059 (74.2 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
ist im Master Mode
iwconfig
wlan0 IEEE 802.11 Mode:Master Tx-Power=20 dBm
Retry short limit:7 RTS thr=2347 B Fragment thr:off
Power Management:off
und ist verbunden
nmcli device status
DEVICE TYPE STATE CONNECTION
eth0 ethernet verbunden LAN
wlan0 wifi verbunden Hotspot
lo loopback nicht verwaltet --
Das Hotspot-Netzwerk ist vollständig konfiguriert
nmcli device show wlan0
GENERAL.DEVICE: wlan0
GENERAL.TYPE: wifi
GENERAL.HWADDR: 00:00:00:00:00:00
GENERAL.MTU: 1500
GENERAL.STATE: 100 (verbunden)
GENERAL.CONNECTION: Hotspot
GENERAL.CON-PATH: /org/freedesktop/NetworkManager/ActiveConnection/2
IP4.ADDRESS[1]: 192.168.167.1/24
IP4.GATEWAY: 192.168.167.1
IP4.ROUTE[1]: dst = 192.168.167.0/24, nh = 0.0.0.0, mt = 600
IP4.ROUTE[2]: dst = 0.0.0.0/0, nh = 192.168.167.1, mt = 600
IP6.ADDRESS[1]: fe80::0000:0000:0000:0000/64
IP6.GATEWAY: --
IP6.ROUTE[1]: dst = fe80::/64, nh = ::, mt = 600
IP6.ROUTE[2]: dst = ff00::/8, nh = ::, mt = 256, table=255
nmcli -f GENERAL device show wlan0
GENERAL.DEVICE: wlan0
GENERAL.TYPE: wifi
GENERAL.NM-TYPE: NMDeviceWifi
GENERAL.VENDOR: Edimax Technology Co., Ltd
GENERAL.PRODUCT: EW-7811Un 802.11n Wireless Adapter [Realtek RTL8188CUS]
GENERAL.DRIVER: rtl8192cu
GENERAL.DRIVER-VERSION: 4.19.0-13-686-pae
GENERAL.FIRMWARE-VERSION: N/A
GENERAL.HWADDR: 00:00:00:00:00:00
GENERAL.MTU: 1500
GENERAL.STATE: 100 (verbunden)
GENERAL.REASON: 0 (Kein Grund angegeben)
GENERAL.UDI: /sys/devices/pci0000:00/0000:00:1d.2/usb3/3-1/3-1:1.0/net/wlan0
GENERAL.IP-IFACE: wlan0
GENERAL.IS-SOFTWARE: nein
GENERAL.NM-MANAGED: ja
GENERAL.AUTOCONNECT: ja
GENERAL.FIRMWARE-MISSING: nein
GENERAL.NM-PLUGIN-MISSING: nein
GENERAL.PHYS-PORT-ID: --
GENERAL.CONNECTION: Hotspot
GENERAL.CON-UUID: 00000000-0000-0000-0000-000000000000
GENERAL.CON-PATH: /org/freedesktop/NetworkManager/ActiveConnection/4
GENERAL.METERED: nein (geraten)
wird geroutet
route | grep --color wlan0
default 192.168.167.1 0.0.0.0 UG 600 0 0 wlan0
192.168.167.0 0.0.0.0 255.255.255.0 U 600 0 0 wlan0
ist in der Firewall
iptables -L | grep --color 192\.168\.167\.0
ACCEPT all -- anywhere 192.168.167.0/24 state RELATED,ESTABLISHED
ACCEPT all -- 192.168.167.0/24 anywhere
Die Verbindung ist aktiv
nmcli connection show --active
NAME UUID TYPE DEVICE
LAN 00000000-0000-0000-0000-000000000000 ethernet enp4s0
Hotspot 00000000-0000-0000-0000-000000000000 wifi wlan0
UPC Wi-Free 00000000-0000-0000-0000-000000000000 wifi wlp3s0
Der Hotspot ist betriebsbereit und wird nach einem Neustart automatisch aktiviert.
iw dev
phy#2
Interface wlan0
ifindex 5
wdev 0x200000001
addr 00:00:00:00:00:00
ssid Hotspot
type AP
channel 3 (2462 MHz), width: 20 MHz, center1: 2412 MHz
txpower 20.00 dBm
nmcli device wifi list
IN-USE SSID MODE CHAN RATE SIGNAL BARS SECURITY
Hotspot Infra 3 65 Mbit/s 100 ▂▄▆█ WPA2
UPC-guest0000000 Infra 1 130 Mbit/s 37 ▂▄__ WPA1 WPA2
* UPC Wi-Free Infra 1 130 Mbit/s 36 ▂▄__ WPA2 802.1X
A1-000000 Infra 6 195 Mbit/s 35 ▂▄__ WPA2
UPC-guest0000001 Infra 44 405 Mbit/s 25 ▂___ WPA1 WPA2
UPC0000000 Infra 11 130 Mbit/s 22 ▂___ WPA1 WPA2
IN-USE SSID MODE CHAN RATE SIGNAL BARS SECURITY
* Hotspot Infra 3 0 Mbit/s 0 ____ WPA2
Debug
iw event
Verbindungsaufbau mit dem Hotspot
wlan0 (phy #2): mgmt TX status (cookie 60): acked
wlan0 (phy #2): mgmt TX status (cookie 61): acked
wlan0: new station 00:00:00:00:00:00
wlan0 (phy #2): mgmt TX status (cookie 62): acked
wlan0 (phy #2): mgmt TX status (cookie 63): acked
Verbindungsabbau
wlan0: del station 00:00:00:00:00:00
wlan0 (phy #2): mgmt TX status (cookie d7): acked