Ubiquiti
Ubiquiti Unifi is scalable and has a linux controller software, meaning you only need to buy APs and a PC with linux on it (ubuntu recommended) to run the network.
Unifi UAP
The UAP-Pro can handle 200 concurrent clients and the UAP-LR / LR / UAP-Outdoor can handle 100 simultaneous clients.
The UAP's are very cheap.
There are still some problems apparently though.
Installing the controller on Debian
This needs to run under a desktop environment, so make sure you have one.
echo 'deb http://www.ubnt.com/downloads/unifi/debian stable ubiquiti' | /etc/apt/sources.list.d/100-ubnt-unifi.list wget -O /etc/apt/trusted.gpg.d/unifi-repo.gpg https://dl.ubnt.com/unifi/unifi-repo.gpg apt update sudo apt install unifi
Then
systemctl enable unifi systemctl start unifi
visit the controller software at http://localhost:8080
You may need to change the ports
Migrating from another controller on another PC
If you are not changing hostname / IP
- Make sure both controllers are the same version (ie update them both)
- if necessary upgrade the firmware on the controllers
- make a backup to an .unf file of the old controller
- Visit the new controller (using the applet or the website) and restore from a previous backup
If you ARE changing hostname / IP
- Make sure both controllers are the same version (ie update them both)
- if necessary upgrade the firmware on the controllers
- make a backup to an .unf file of the old controller
- Visit the new controller (using the applet or the website) and restore from a previous backup
- On the old controller
When I move the controller, I just go into the GUI on existing controller, under SETTINGS, CONTROLLER, and change the Controller Hostname / IP to the NEW IP ADDRESS, (removing unifi.yourdomain.com) and then check the box "Override inform host with controller hostname/IP" Since I have the migrated controller up and running already on the NEW IP ADDRESS, after I shut down the OLD CONTROLER, the new one immediately starts provisioning the WAPS.
Press apply changes on the bottom. You should see the new controller status of the APs changing to connected.
An alternative method is to SSH to each AP and use set-inform to point them to the new controller
set-inform http://IP.ADDR.OF.Controller:8080/inform set-inform, adopt, set-inform a second time. If you forget the syntax, 'help' will help
files
/var/lib/unifi/data/system.properties
if this doesn't exist
java -jar /usr/lib/unifi/lib/ace.jar discover
/usr/lib/unifi/logs/server.log
/usr/lib/unifi/logs/mongod.log
migrating controller from one machine to another
EdgeMAX EdgeRouter
The UI is slightly confusing as there are buttons on the top, bottom, middle and at the bottom. Also, logging only starts once you log in, so the dashboard and traffic analysis only start once you are logged on.
Basic system configuration
After running the wizard, basic system configuration can be done by clicking the System button on bottom left. This is where you can backup and reboot but also add extra DNS servers to the system.
Config Tree
The config tree allows you to click on the triangles to expand AND view what is in the config (meaning you have to double click on the triangle quite a bit), hover over the name of the config for some more information and the + or - to install or uninstall a service. If you are going to uninstall a service it will show in red.
CLI configuration
When you enter the cli you can run some commands but not change setups. In order to change stuff you need to first enter configuration mode, change your settings, then commit and save
configure set ... commit save
DHCP
EdgeRouter - DHCP Server Using Dnsmasq
Services (top) -> DHCP Server
Once you have added a DHCP server you can configure it by clicking on Actions on the right of the screen and then View Details.
There are also options under Service -> dhcp-server in the config tree
One of the problems you will run into is that even if you set multiple DNS servers, Windows will only read the first one unless it is actually down (see also What is the default behavior of a Windows 7 or Windows 8 DNS client when two DNS servers are configured on the NIC and Best practices for DNS client settings in Windows 2000 Server and in Windows Server 2003. So if you want to resolve internal domain names you will need to work on DNS forwarding.
DNS
Resolving
To see what nameservers are being used to resolve
cat /etc/resolv.conf
if you don't want that, use
set interfaces ethernet eth0 dhcp-options name-server no-update
Forwarding
EdgeRouter - DNS Forwarding Setup and Options man page
If you set your DHCP server to put the IP of the EdgeMAX router into the DNS servers section, it uses DNS forwarding using dnsmasq
show dns forwarding
This example shows the DNS servers assigned to the router via DHCP first and the one configured in the basic system configuration (bottom of the UI screen) after that
The DNS resolution of this system is that the system chooses the fastest server and sticks to that.
One of the options to NOT enable is strict-order DNS Forwarding / Name servers / Dnsmasq-discuss DNS search Order
Using the all-servers option sends the request in parallel to every server and it picks the result that comes first. This can be done via the cli
configure set service dns forwarding options all-servers commit save
Or using the Config Tree
You can see how many queries each has using
show dns forwarding statistics
To clear the cache use
clear dns forwarding cache
To clear the cache and the counters use
clear dns forwarding all