Ubiquiti Unifi Controller

Ok, heb ik dus een Ubiquiti PRO Access Point (UAP AC PRO) aangeschaft.
Aangezien het de bedoeling is om er nog meerdere te kopen, en te plaatsen, heb ik besloten om toch maar de Web Console te installeren.

Blijkt dus dat via ubnt.com er slechts 3 oplossingen zijn.

  • Unifi Cloud Key
  • Ubuntu
  • Debian

Na weinig onderzoek, blijkt dit dus een JAVA/JSP toepassing (Web-App) te zijn die op een TomCat server draait met Mongo DB.
De software hiervoor staat (nu toch nog steeds) op http://dl.ubnt.com/unifi/'versie'/UniFi.unix.zip
Voor de laatste versie, bezoek de download pagina: https://www.ubnt.com/download/unifi
Dus dit kan perfect op een bestaande Linux worden gedraait (bv CentOS 7).

De stappen om dit te hosten op een CentOS 7:

useradd -r ubnt
yum -y install mongodb-server java-1.8.0-openjdk unzip wget

cd /tmp && wget http://dl.ubnt.com/unifi/5.4.12/UniFi.unix.zip
unzip -q UniFi.unix.zip -d /opt
chown -R ubnt:ubnt /opt/UniFi

vi /etc/systemd/system/unifi.service
#
# Systemd unit file for UniFi Controller
#

[Unit]
Description=UniFi AP Web Controller
After=syslog.target network.target

[Service]
Type=simple
User=ubnt
WorkingDirectory=/opt/UniFi
ExecStart=/usr/bin/java -Xmx1024M -jar /opt/UniFi/lib/ace.jar start
ExecStop=/usr/bin/java -jar /opt/UniFi/lib/ace.jar stop
SuccessExitStatus=143

[Install]
WantedBy=multi-user.target

Zoals steeds moeten er enkele poorten open gezet worden.
We gaan een groep maken voor Unifi

vi /etc/firewalld/services/unifi.xml
<?xml version="1.0" encoding="utf-8"?>
<service version="1.0">
    <short>unifi</short>
    <description>UniFi Controller</description>
    <port port="8081" protocol="tcp"/>
    <port port="8090" protocol="tcp"/>
    <port port="8443" protocol="tcp"/>
    <port port="8880" protocol="tcp"/>
    <port port="8843" protocol="tcp"/>
    <port port="10001" protocol="udp"/>
    <port port="3478" protocol="udp"/>
</service>

Opgelet, de standaard poort 8080 wordt hier niet gebruikt, dit gaan we straks aanpassen

systemctl restart firewalld.service
firewall-cmd --permanent --zone=public --add-service=unifi
vi /opt/Unifi/data/system.properties

Pas de poort aan van 8080 naat 8090

Start de unifi service en clean up

systemctl enable unifi.service
systemctl start unifi.service
rm -rf /tmp/UniFi.unix.zip

 

Apache reverse Proxy

Wel ik heb een centrale web-server waar alles toe komt in mijn Virtual Private Network. Yep, IP adressen kosten geld.
En ik ben nogal old school, dus mijn web server is een Apache 2.4 (Op die server/locatie dan toch).
We gaan dus een Proxy instellen, want ik had die software op een VPS geïnstalleerd (192.168.1.53), waar oa Gitlab, Zabbix en andere management software's draaien.

<VirtualHost *:443>
    ServerName unifi.reynaert.be
    ProxyRequests off
    SSLProxyEngine on
    SSLProxyVerify none
    SSLProxyCheckPeerCN off
    SSLProxyCheckPeerName off
    SSLProxyCheckPeerExpire off
    ProxyPass / https://192.168.1.53:8443/
    ProxyPassReverse / https://192.168.1.53:8443/
    Header set Host unifi.reynaert.be
    RequestHeader set Host 192.168.1.53
    Header unset Referer
    RequestHeader unset Referer
     
        SSLEngine on
        SSLCertificateFile /etc/letsencrypt/live/unifi.reynaert.be/cert.pem
        SSLCertificateKeyFile /etc/letsencrypt/live/unifi.reynaert.be/privkey.pem
        SSLCACertificateFile /etc/letsencrypt/live/unifi.reynaert.be/fullchain.pem
        SSLCipherSuite EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH
        SSLProtocol All -SSLv2 -SSLv3
        SSLCompression off
        SSLHonorCipherOrder On
</VirtualHost>

Let op enkele speciale settings zoals "Header" en "RequestHeader", deze zijn vooral nodig voor de Chrome browser (inloggen die anders niet lukt)

 

Voeg een Acces Point toe

Sluit een nieuwe AP aan op het netwerk, die in dezelfde range zit als je Controller.
Weldra zal je deze zien in je Web interface.
Dit is de moment om hem een duwtje in de rug te geven als hij niet wil connecteren (adopting blijft staan als status).

Reset en inform de Ubiquiti Access Point
SSH naar de Access Point (default username pas: root - ubnt of ubnt - ubnt), maar reeds het nieuwe username en pas indien er gedeeltelijke uitwisseling was!!

syswrapper.sh restore-default
mca-cli
set-inform https://unifi.reynaert.be/inform

Door deze instructie reset je het apparaat, ga je naar de cli mode en zet je de inform parameter.
Controleer deze settings met de instructie: info
Na een korte periode ga je de AP zien als Connected.

Terug naar overzicht nieuws