Wie ich meine WLANs verwalte
Eine Fritzbox genügt nicht. Performante, konfigurierbare Accesspoints, zentrales Management via Docker-Container.
In den meisten Haushalten gibt es wohl nur ein WLAN. Meist von einer Fritzbox angeboten. Obwohl es möglich ist, auf einer Fritzbox sicherzustellen, dass die Smarte Türsprechanlage nicht für unbefugten Zugriff auf das Synology NAS genutzt werden kann (indem man beispielsweise das Gäste-WLAN verwendet, um das interne Netz zu isolieren und den Internetzugang dennoch zu beschränken), habe ich dennoch mehrere WLANs eingerichtet, um unterschiedlichen Anforderungen gerecht zu werden.
Meine Hardware
Ich verwende Unifi Komponenten, um meine WLANs zur Verfügung zu stellen. Im Firewall-Blogbeitrag habe ich meine Segmente bereits ausführlich beschrieben. Diese WLANs sind erstaunlich performant, benötigen jedoch einen zentralen Controller für die Konfiguration. Diesen habe ich auf einem meiner Cloud-Server in einem Container zur Verfügung gestellt:
unifictrl:
image: "jacobalberty/unifi:latest"
container_name: unifictrl
depends_on:
- mongo
init: true
restart: unless-stopped
volumes:
- ./unifictrl/dir:/unifi
- ./unifictrl/data:/unifi/data
- ./unifictrl/log:/unifi/log
- ./unifictrl/cert:/unifi/cert
- ./unifictrl/init:/unifi/init.d
- ./unifictrl/run:/var/run/unifi
# Mount local folder for backups and autobackups
- ./unifictrl/backup:/unifi/data/backup
user: unifi
sysctls:
net.ipv4.ip_unprivileged_port_start: 0
environment:
DB_URI: mongodb://mongo/unifi
STATDB_URI: mongodb://mongo/unifi_stat
DB_NAME: unifi
networks:
- unifi # Assign to the unifi network
ports:
- "3478:3478/udp" # STUN
- "6789:6789/tcp" # Speed test
- "8080:8080/tcp" # Device/ controller comm.
- "8443:8443/tcp" # Controller GUI/API as seen in a web browser
- "8880:8880/tcp" # HTTP portal redirection
- "8843:8843/tcp" # HTTPS portal redirection
- "10001:10001/udp" # AP discovery
labels:
- com.centurylinklabs.watchtower.enable=true
mongo:
image: mongo:3.6
container_name: unifictrl_mongo
restart: unless-stopped
environment:
- PUID=1000
- PGID=1000
volumes:
- ./mongodb/db:/data/db
- ./mongodb/dbcfg:/data/configdb
networks:
- unifi # Assign to the unifi network
healthcheck:
test: ["CMD", "mongo", "--eval", "db.adminCommand('ping')"]
interval: 10s
timeout: 5s
retries: 5
networks:
unifi:
external: true # Specifies that the 'unifi' network is already created
Aber das kennen wir ja bereits. Wir legen schnell das interne Netz unifi
an mit dem Befehl docker network create unifi
und kaum hat man docker-compose up -d unifi-controller
geschrieben, ist dieser auch schon up-n-runnin.
Sobald ich nun einen Accesspoint ins LAN stecke, teile ich ihm per ssh mit, unter welcher URL er sich melden soll, damit er im Controller auftaucht. Ist dieser dann am Controller zu sehen, kann ich ihn adoptieren und verwalten.
So habe ich an einem Standort zum Beispiel drei Accesspoints. Und wenn ich ein neues WLAN aufspannen möchte, kann ich konfigurieren, über welche APs dieses ausgestrahlt werden soll und über welches VLAN es an der Firewall angebunden wird. So sieht dann das Dashboard dieses Standortes aus:
Damit die Frequenzbereiche optimal genutzt werden, schauen sich die Accesspoints in ihrer Umgebung um, ob eventuell andere WLANs in der Nachbarschaft sind. Diese Informationen kann man dann widerum nutzen, um zu erkennen, wann welcher Nachbar am Haus vorbei fährt:
Durch die eindeutige MAC-Adresse sind diese dann gut zu unterscheiden und können dann auch in der Hausautomation berücksichtigt werden ;-)
Aber auch die Topologie wird automatisch gelernt. So kann man leicht erkennen, was passieren wird, wenn ich einen Switchport down nehmen muss, oder einen Accespoint austauschen muss:
Fazit
Für mich reicht eine Fritzbox nicht mehr aus. Und die Unifi-Infrastruktur ist meist günstig zu bekommen, da viele Nutzer zwar gehört haben, wie genial diese Komponenten sind. Wenn sie dann aber keine Webseite zur Konfiguration vorfinden und sich mit der Komplexität eines Controllers überfordert sehen, schicken viele diese Geräte wieder an Amazon zurück, wo sie dann als günstiger Warehouse-Deal zu haben sind.
Für mich ist diese Infrastruktur daher bestens geeignet, meine eigenen, aber auch fremde WLANs zu administrieren.