Wie ich meine WLANs verwalte

Eine Fritzbox genügt nicht. Performante, konfigurierbare Accesspoints, zentrales Management via Docker-Container.

Wie ich meine WLANs verwalte
Photo by Markus Spiske / Unsplash

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.