UniFi Access Point U6 Lite mit Wi-Fi 6

In den aktuellen Zeiten wird immer mehr an die Haustür geliefert. Auch heute klingelte ein Paketbote und lieferte wie fast jeden Tag ein Paket ab. Diesmal war allerdings etwas besonderes und langerwartetes in dem Paket. Der UniFi Access Point U6 Lite mit Wi-Fi 6 von Ubiquiti. Endlich! Diese hatte ich schon vor Monaten bestellt.

Wie viele Hersteller hat auch Ubiquiti seit langem Wi-Fi 6 Produkte angekündigt. Diese waren aber ewig nicht lieferbar. Die Chipindustrie hat aktuell enorme Probleme mit der Produktion nachzukommen. Und insbesondere WLAN-Chips scheinen aktuell knapp zu sein. Dies führt dazu, dass angekündigte Produkte oft erst Monate später lieferbar sind. Aus diesem Grund musste ich mehrer Monate auf die bestellten Wi-Fi 6 Access Points von Ubiquiti warten, bevor diese endlich an meiner Haustür ankamen.

Was ist Wi-Fi 6?

Für diejenigen die es noch nicht wissen: Wi-Fi 6 ist der neue WLAN-Standard von der Wi-Fi Alliance mit der Bezeichnung IEEE 802.11ax. Der Nachfolger von Wi-Fi 5 mit der Bezeichnung  IEEE 802.11ac. Da die Bezeichnungen dieser Standards sehr kryptisch sind und dem normalen Benutzer nicht erkennen lassen, welcher Standard der neuere ist, hat sich die Wi-Fi Alliance im Jahr 2018 für die Vermarktung den einfacheren Namen Wi-Fi mit fortlaufender Nummer ausgedacht. Die Verwendung der neuen Namen wurde anschließend per Pressemitteilung angekündigt. Inzwischen sind deshalb die meisten WLAN-Produkte nur noch mit den neu ausgedachten Namen gekennzeichnet.

Warum Wi-Fi 6?

Die vorherigen WLAN-Standards legten den Fokus auf schnellere Datenübertragungen und größere Reichweite. Man konnte dadurch Daten schneller und weiter übertragen. Bei Wi-Fi 6 ist das anders. Hier verbessern sich vor allem die Geschwindigkeiten, wenn viele Geräte gleichzeitig das WLAN nutzen. So richtig bemerken wird man Wi-Fi 6 also erst, wenn man viele Teilnehmer in einem WLAN hat, die Wi-Fi 6 unterstützen und viele Daten senden. Wenn man nur wenige Gärten oder noch viele Wi-Fi 5 Geräte hat, wird man den Unterschied kaum wahrnehmen.

Um bei vielen Geräten in einem WLAN die Geschwindigkeit zu verbessern, befinden sich die wesentlichen Änderungen von Wi-Fi 6 in der Multi-User-MIMO-Antennentechnik. Bei dieser wird die bisherige Technik namens Orthogonal Frequency Division Multiple Access (OFDMA) zur Multi User Orthogonal Frequency Division Multiple Access (MU-OFDMA) erweitert. Dadurch ist es zukünftig möglich, dass mehrere Teilnehmer in einem WLAN gleichzeitig Daten übertragen.

Bis Wi-Fi 5 konnte konnte immer nur ein Teilnehmer zur Zeit Daten übertragen. Dies führte dazu, dass bei vielen Teilnehmern nicht genügend Zeit vorhanden war, damit alle Daten übertragen werden konnten. Da weit entfernte Teilnehmer die Daten nur langsam Übertagen konnten, verbrauchten diese zu viel Sendezeit. Dies hatte die Folge, dass für Teilnehmer in der unmittelbaren Nähe nicht genügend Zeit verblieb. Durch diesen Mangel an Sendezeit reduzierte sich die Geschwindigkeit bei den Datenübertragungen stark und diese WLAN Netzwerke blieben weit hinter den theoretischen Übertragungsraten zurück.

Bei Wi-Fi 6 können jetzt mehrere Teilnehmer gleichzeitig senden. Dadurch steht für die Teilnehmer eines WLAN erheblich mehr Sendezeit zur verfügung. Es kommt bei vielen Teilnehmern also nicht mehr so schnell zu einem Mangel an Sendezeit.

Erste Erfahrungen mit dem UniFi Access Point U6 Lite

Ich habe den neuen Access Point in meinem Setup gleich mal mit einem seiner Vorgänger dem UniFi Access Point nanoHD mit Wi-Fi 5 verglichen. In meinem Setup sind die folgenden Parameter für das WLAN eingestellt:

  • 5 GHz Band
  • Channel width HE40
  • Security Protokoll WPA-3

Ein nicht ganz fairer Vergleich, da der nanoHD mehr Antennen als der U6 Lite hat und doppelt so teuer ist. Der von der Antennen Anzahl und Preis vergleichbarer UniFi Access Point U6 LR ist aber noch nicht geliefert. Sobald dieser da ist, werde ich auch mit dem Vergleichen.

Um die Access Points zu vergleichen, habe ich diese in meinen UniFi Controller eingebunden, was mit einem klick erledigt war. Einzige Voraussetzung ist, dass der UniFi Controller mindestens die Version 5.14.3 hat und bei mir läuft sogar schon die Version 6.1.71. (Wie man einen UniFi Controller auf einem Ubuntu aktualisiert, erkläre ich im Blogbeitrag Ubiquiti Unifi: Releaseupgrade eines Ubuntu 16.04 auf 18.04 mit einer Mongodb)

Danach habe ich mit Hilfe des Programms NetIO von Kai Uwe Rommel die Netzwerkperformance zwischen zwei MacBook Pro gemessen, die im selben Raum etwa 3 Meter von dem AccessPoint entfernt waren.

Wie man sieht, sind die Wi-Fi 5 Access Points sogar 10% schneller als die neuen Wi-Fi 6. Eventuell liegt das an der größeren Anzahl von Antennen.

kristian@Kristians-MacBook-Pro mac-osx-10.5 % ./osx-10.5-x86_64 -t 192.168.38.64

NETIO - Network Throughput Benchmark, Version 1.31
(C) 1997-2010 Kai Uwe Rommel

TCP connection established.
Packet size  1k bytes:  10.30 MByte/s Tx,  10.63 MByte/s Rx.
Packet size  2k bytes:  10.30 MByte/s Tx,  10.72 MByte/s Rx.
Packet size  4k bytes:  10.69 MByte/s Tx,  10.78 MByte/s Rx.
Packet size  8k bytes:  10.68 MByte/s Tx,  10.76 MByte/s Rx.
Packet size 16k bytes:  10.65 MByte/s Tx,  10.72 MByte/s Rx.
Packet size 32k bytes:  10.81 MByte/s Tx,  10.93 MByte/s Rx.
Done.
kristian@Kristians-MacBook-Pro mac-osx-10.5 % ./osx-10.5-x86_64 -t 192.168.38.64

NETIO - Network Throughput Benchmark, Version 1.31
(C) 1997-2010 Kai Uwe Rommel

TCP connection established.
Packet size  1k bytes:  11.70 MByte/s Tx,  12.51 MByte/s Rx.
Packet size  2k bytes:  11.36 MByte/s Tx,  12.55 MByte/s Rx.
Packet size  4k bytes:  12.14 MByte/s Tx,  13.19 MByte/s Rx.
Packet size  8k bytes:  12.22 MByte/s Tx,  13.12 MByte/s Rx.
Packet size 16k bytes:  12.11 MByte/s Tx,  13.29 MByte/s Rx.
Packet size 32k bytes:  11.85 MByte/s Tx,  13.25 MByte/s Rx.
Done.

Nach dem ersten Test, habe habe ich die Access Points 6 Meter entfernt in den Nebenraum gestellt, 20 WLAN Clients verbunden und erneut getestet. Diesmal war die Geschwindigkeit vergleichbar.

kristian@Kristians-MacBook-Pro mac-osx-10.5 % ./osx-10.5-x86_64 -t 192.168.38.64
 NETIO - Network Throughput Benchmark, Version 1.31
 (C) 1997-2010 Kai Uwe Rommel
 TCP connection established.
 Packet size  1k bytes:  9876.59 KByte/s Tx,  9935.61 KByte/s Rx.
 Packet size  2k bytes:  9846.24 KByte/s Tx,  10.11 MByte/s Rx.
 Packet size  4k bytes:  10.01 MByte/s Tx,  10.11 MByte/s Rx.
 Packet size  8k bytes:  10.18 MByte/s Tx,  10.17 MByte/s Rx.
 Packet size 16k bytes:  10.33 MByte/s Tx,  10.15 MByte/s Rx.
 Packet size 32k bytes:  10.27 MByte/s Tx,  10.12 MByte/s Rx.
 Done.
kristian@Kristians-MacBook-Pro mac-osx-10.5 % ./osx-10.5-x86_64 -t 192.168.38.64

NETIO - Network Throughput Benchmark, Version 1.31
(C) 1997-2010 Kai Uwe Rommel

TCP connection established.
Packet size  1k bytes:  10002.87 KByte/s Tx,  10.17 MByte/s Rx.
Packet size  2k bytes:  10207.72 KByte/s Tx,  9672.17 KByte/s Rx.
Packet size  4k bytes:  10.43 MByte/s Tx,  10.21 MByte/s Rx.
Packet size  8k bytes:  10.49 MByte/s Tx,  9814.45 KByte/s Rx.
Packet size 16k bytes:  10072.42 KByte/s Tx,  9679.28 KByte/s Rx.
Packet size 32k bytes:  10.42 MByte/s Tx,  10.07 MByte/s Rx.
Done.

Fazit

Die Wi-Fi 6 Access Points von Ubiquiti sind bei meinem Setup im ersten Vergleich mit den vorherigen HD Access Points mit Wi-Fi 5 sogar etwas langsamer. Nur bei sehr vielen Geräten können sie ihren Vorteile im Multi-User-MIMO ausspielen. Der Geschwindigkeitsunterschied dürfte auch an der geringeren Antennenanzahl gegenüber den HD Access Points liegen und sollte in der Praxis kaum zu bemerken sein.

Der UniFi Access Point U6 Lite mit Wi-Fi 6 scheint ein ausgereiftes Produkt zu einem fairen Preis zu sein. Er kostet nicht mehr als die Vorgängermodelle. Er dürfte in den meisten Setups aber auch keinen großen Vorteil bringen.

Wenn man bereits gute Wi-Fi 5 Access Points hat, gibt es aktuell kaum Gründe auf Wi-Fi 6 umzusteigen. Sofern man jetzt aber neue Access Points benötigt, würde ich die Modelle mit Wi-Fi 6 kaufen, um zukunftssicherer zu sein und besser mit vielen WLAN Geräten agieren zu können.

Ubiquiti Unifi Controller auf einer OPNsense

Wenn man sein Netz mit einer OPNsense Firewall absichert und Unifi Accesspoints von Ubiquiti betreibt, möchte man den Unifi Controller eventuelle gerne auf der selben Hardware betreiben. Deshalb möchte man den Ubiquiti Unifi Controller auf einer OPNsense installieren. Dies spart Strom und verringert die Komplexität. Theoretisch ist dies auch kein Problem, da der Controller in Java programmiert wurden und somit natürlich auch auf einem FreeBSD läuft. Und die Basis von OPNsense ist schließlich ein FreeBSD.

In der Praxis gibt es für die Installation aber einige Hürden zu überwinden und die Installation der Software ist gar nicht so einfach. Zum Glück hat sich John Burwell aus Houston/Texas die Mühe gemacht ein Installationsskript dafür zu Programmmieren. Dieses hat er im Projekt unifi-pfsense auf GitHub veröffentlicht und man muss es nur ausführen, um den Unifi Controller von Ubiquiti zu installieren. Die kann man mit folgenden Befehl auf der Kommandozeile erreichen:

fetch -o - https://git.io/j7Jy | sh -s

Ubiquiti Unifi: Releaseupgrade eines Ubuntu 16.04 auf 18.04 mit einer Mongodb

Mehrere Installationen der Software Unifi von Ubiquiti liefen bei mir noch auf einem Ubuntu 16.04 LTS. Da die kostenlosen Sicherheitsupdates für dieses Ubuntu nur noch ein halbes Jahr erscheinen, war es Zeit für ein Releaseupgrade auf Ubuntu 18.04. Gesagt, getan… Nach einem Backup eines der Controller führte ich kurzerhand ein Releaseupgrade durch.

Das eigentliche Releaseupgrade lief ohne Probleme durch. Überraschender Weise startete die Unifi Software aber nicht mehr. Ein Blick in das Logfile /var/log/unifi/server.log der Unifi Software offenbarte, dass die MongoDB nicht mehr erreichbar war.

[2020-08-12 17:40:59,094] <db-server> ERROR system - [exec] error, rc=100
[2020-08-12 17:40:59,095] <db-server> INFO db - DbServer stopped

Ein weiterer Blick in das Logfile /var/log/unifi/mongod.log der MongoDB zeigte, dass der Grund ein zu großer Versionssprung von der vorherigen Version 2.6 der MongoDB war.

2020-08-25T16:44:07.964-0400 F CONTROL  [initandlisten] ** IMPORTANT: UPGRADE PROBLEM: The data files need to be fully upgraded to version 3.4 before attempting an upgrade to 3.6; see http://dochub.mongodb.org/core/3.6-upgrade-fcv for more details.
2020-08-25T16:44:07.964-0400 I NETWORK  [initandlisten] shutdown: going to close listening sockets...
2020-08-25T16:44:07.964-0400 I NETWORK  [initandlisten] removing socket file: /usr/lib/unifi/run/mongodb-27117.sock
2020-08-25T16:44:07.964-0400 I REPL     [initandlisten] shutdown: removing all drop-pending collections...
2020-08-25T16:44:07.964-0400 I REPL     [initandlisten] shutdown: removing checkpointTimestamp collection...
2020-08-25T16:44:07.964-0400 I STORAGE  [initandlisten] shutdown: waiting for fs preallocator...
2020-08-25T16:44:07.964-0400 I STORAGE  [initandlisten] shutdown: final commit...
2020-08-25T16:44:07.964-0400 I JOURNAL  [initandlisten] journalCleanup...
2020-08-25T16:44:07.964-0400 I JOURNAL  [initandlisten] removeJournalFiles
2020-08-25T16:44:07.970-0400 I JOURNAL  [initandlisten] old journal file /usr/lib/unifi/data/db/journal/j._0 will be reused as /usr/lib/unifi/data/db/journal/prealloc.0
2020-08-25T16:44:07.976-0400 I JOURNAL  [initandlisten] Terminating durability thread ...
2020-08-25T16:44:08.067-0400 I JOURNAL  [journal writer] Journal writer thread stopped
2020-08-25T16:44:08.067-0400 I JOURNAL  [durability] Durability thread stopped
2020-08-25T16:44:08.067-0400 I STORAGE  [initandlisten] shutdown: closing all files...
2020-08-25T16:44:08.070-0400 I STORAGE  [initandlisten] closeAllFiles() finished
2020-08-25T16:44:08.070-0400 I STORAGE  [initandlisten] shutdown: removing fs lock...
2020-08-25T16:44:08.070-0400 I CONTROL  [initandlisten] now exiting
2020-08-25T16:44:08.070-0400 I CONTROL  [initandlisten] shutting down with code:62

Um das Releaseupgrade erfolgreich durchzuführen, muss man also erst die MongoDB auf Version 3.4 aktualisieren und danach das Releaseupgrade starten. Ein Upgrade der MongoDB macht man am besten mit den Softwarepaketen von MongoDB.org und das geht wie folgt:

sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 0C49F3730359A14518585931BC711F9BA15703C6
sudo echo "deb http://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/3.4 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.4.list
sudo apt-get update
sudo apt-get install -y mongodb-org
sudo systemctl unmask mongodb
sudo systemctl restart mongodb

Jetzt sollte die MongoDB auf Version 3.4 aktualisiert sein und man kann gefahrlos das Releaseupgrade auf Ubuntu 18.04 starten. Ein Backup sollte man natürlich dennoch vorsichtshalber machen.

Nach dem Upgrade auf Ubuntu 18.04 ist noch zu empfehlen die MongoDB ein weiteres mal auf die Version 3.6 zu aktualisieren, da es für die Version 3.4 nur bis Januar 2020 Support und Sicherheitsupdates gab. Für die Version 3.6 gibt es selbiges bis April 2021 und diese wird seit der Unifi Version 5.13.10 unterstützt. Das Upgrade geschieht mit den folgenden Befehlen.

wget -qO - https://www.mongodb.org/static/pgp/server-3.6.asc | sudo apt-key add -
echo "deb https://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/3.6 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.6.list
apt update
apt upgrade
systemctl restart mongodb

Ubuntu: WLAN beim booten automatisch starten

Bei Ubuntu wird das WLAN-Interface normaler Weise über den Networkmanager gestartet. Dies bedeutet, dass man sich mit einem Benutzer an der grafischen Oberfläche anmelden muss, damit sich das WLAN aktiviert. Bei Servern und anderen Gräten ohne grafische Oberfläche möchte man aber oft sofort nach dem Booten ein funktionierendes WLAN. In diesem Fall sollte man wpa_supplicant installieren und konfigurieren. Eine Anleitung dazu findet man auf der Webseite wiki.ubuntuusers.de.

Cisco Aironet 1242AG AccessPoint als WLAN Bridge

Im folgenden die Konfiguration für einen Cisco Aironet 1242AG AccessPoint, der als WLAN Bridge für ein kleines Netzwerk eingerichtet wurde. Das lokale Netzwerk hat das IP-Netz 192.168.1.0/24. Das Gateway und der DNS-Server haben die IP-Adresse 192.168.1.1 und der Accesspoint selber hat die IP-Adresse 192.168.1.2. Der Accesspoint fungiert zudem als DHCP-Server und verteilt dynamischen IP-Adressen im Bereich von 192.168.1.101 bis 192.168.1.199.



!
version 12.4
no service pad
service timestamps debug datetime msec
service timestamps log datetime msec
service password-encryption
!
hostname accesspoint
!
!
aaa new-model
!
!
aaa authentication login default local
aaa authorization exec default local 
!
aaa session-id common
!
resource policy
!
ip subnet-zero
ip dhcp use vrf connected
ip dhcp excluded-address 192.168.1.1 192.168.1.100
ip dhcp excluded-address 192.168.1.200 192.168.1.254
!
ip dhcp pool LAN
   network 192.168.1.0 255.255.255.0
   default-router 192.168.1.1 
   dns-server 192.168.1.1 
!
!
!
dot11 ssid WLAN
   authentication open 
   authentication key-management wpa
   wpa-psk ascii geheimespasswort
!         
power inline negotiation prestandard source
!
!
username admin privilege 15 password geheimespasswort
!
bridge irb
!
!
interface Dot11Radio0
 no ip address
 no ip route-cache
 !
 encryption mode ciphers tkip 
 !
 ssid WLAN
 !
 station-role root
 no cdp enable
 bridge-group 1
 bridge-group 1 subscriber-loop-control
 bridge-group 1 block-unknown-source
 no bridge-group 1 source-learning
 no bridge-group 1 unicast-flooding
 bridge-group 1 spanning-disabled
!
interface Dot11Radio1
 no ip address
 no ip route-cache
 shutdown
 no dfs band block
 channel dfs
 station-role root
 bridge-group 1
 bridge-group 1 subscriber-loop-control
 bridge-group 1 block-unknown-source
 no bridge-group 1 source-learning
 no bridge-group 1 unicast-flooding
 bridge-group 1 spanning-disabled
!
interface FastEthernet0
 no ip address
 no ip route-cache
 duplex auto
 speed auto
 no cdp enable
 bridge-group 1
 no bridge-group 1 source-learning
 bridge-group 1 spanning-disabled
!
interface BVI1
 ip address 192.168.1.2 255.255.255.0
 no ip route-cache
!
ip http server
ip http authentication aaa
no ip http secure-server
ip http help-path http://www.cisco.com/warp/public/779/smbiz/prodconfig/help/eag
bridge 1 route ip
!
!
!
line con 0
line vty 0 4
!
end

Dem ndiswrapper von Linux kann über WLAN Code untergeschoben werden

Dem ndiswrapper kann über einen Buffer Overflow mit der ESSID Code untergeschoben werden, der mit Kernel-Rechten ausführt wird. Dazu genügt es laut Bericht, dass ein Angreifer in Reichweite eines verwundbaren Clients präparierte Pakete sendet.

Der ndiswrapper wird unter Linux zum Anbinden von Windows-WLAN-Treibern verwendet. Betroffene Distributionen haben bereit Updates bereit gestellt.