After reading Review: Ubiquiti UniFi made me realize how terrible consumer Wi-Fi gear is, I replaced my wlan access points with two UAP-AC-LITE (~80 EUR each).

Setup is quite simple: run the unifi controller software somewhere. Plug in the pseudo-PoE-things and the Access Points, discover access points in unifi controller, update firmware, configure network.

I run the unifi controller on my 24h running linux machine with the jacobalberty/unifi docker image.

Running the controller full time is only required for some features. It can also be used for one time configuration and on other platforms.

This is the docker-compose file:

version: '2'
services:
  unifi:
    image: jacobalberty/unifi:unifi5
    ports:
      - 8080:8080
      - 8081:8081
      - 8443:8443
      - 8843:8843
      - 8880:8880
      - 3478/udp:3478/udp
    restart: always

Ports are explained here

Compared to my old consumer grade access point (Netgear WNDR4300 + OpenWRT) establishing connections is VERY fast with a great performance.

And there is the nice unified interface with all the management features in one place. \o/

Playing with docker and homeassistant + z-wave stuff on the raspberry 2 is pretty slow with the sd card as main storage. And it will burn through the flash write cycles in no time.

Solution: old 60GB SSD drive + externel USB case.

This requires some USB2 hub with external power supply (at least 2A). Or an external USB case with power supply.

To copy the data there is a nice guide and the Adafruit-Pi-ExternalRoot-helper from adafruit.

Warning: The script modifies /boot/cmdline.txt and /etc/fstab. If something goes wrong you can edit the files and revert to old boot drive settings.

Warning2: The script will delete target drive data !!!

Look for the drive. Should be /dev/sda

dmesg

Run helper script (perhaps stop docker before):

git clone https://github.com/adafruit/Adafruit-Pi-ExternalRoot-Helper.git
cd Adafruit-Pi-ExternalRoot-Helper
sudo ./adafruit-pi-externalroot-helper -d /dev/sda

# wait

# check new boot partition config
cat /etc/fstab 
cat /boot/cmdline.txt

sudo reboot

Killing points of failure. One at a time…

Today: my custom-build year-old pfsense router. Pfsense is great, but it is running on some old cheap hardware that could fail every day. The energy consumption of 15-20W could also be lower.

good old pfsense box

Solution: Ubiquiti Edgerouter Lite. Great stuff for less than 100€. They claim carrier class 999% uptime ;) And it is vyatta based (debian open firmware).

Warning: the router really requires network knowledge and using the CLI for more advanced stuff.

However, there is a wizard to set up PPPoe connections. This is especially helpful with my VDSL connection that requires the VLAN 7 to be set (Deutsche Telekom VDSL). So basic internet routing is working in a few minutes.

I replaced the default user and set up the networks (I have separate VLANs for cameras, iot devices, guests) using the GUI.

For other things CLI works better. There is a config mode (as known from other expensive router vendors):

ssh user@ip
configure
    
# example: Add a static DHCP mapping
show service dhcp-server shared-network-name LAN
set service dhcp-server shared-network-name LAN subnet 172.16.66.0/24 static-mapping print1 ip-address 172.16.66.64
set service dhcp-server shared-network-name LAN subnet 172.16.66.0/24 static-mapping print1 mac-address b8:27:eb:4c:XX:XX

# saving config
commit; save
exit

Love it. Good for documentation. And you can always backup and restore config using the GUI (System section).

Next: add some basic firewalling for the nasty iot devices/cameras + openvpn…

Links:

HPSTR Theme

Switching to HPSTR jekyll theme here. Love it!

failover.cc launch

Today I launched failover.cc – website health checking and failover trigger for CloudFlare API

Check it out!