This week we played with the WireGuard VPN on the MikroTik v7, and we would like to have a bit of your experience about the "Best Practices" how to do it for road warriors (we have clients with about 40-50 road warriors, other with less than 10).
For now, we tested the following configurations:
Only one WireGuard "Server" with all clients
Pros
- One interface, one IP in the router, less firewall rules
- Only one port open on the router
- If "server" key need to be changed, you have to update all clients
Various WireGuard "Servers" with many clients (grouped by roles)
For example, one server for personal devices (BYOD), another one for company devices (laptops that user takes outside the office), etc.
Pros
- Few interfaces, different keys for different groups (better security)
- Few open ports on the router
- If "server" key need to be changed, you have to update few/many clients (at least not all devices)
- More firewall rules to add and maintain later (means as well more CPU in use)
One WireGuard "Server" per client (or per user)
For example, one "server" per user, thinking that a user own 4 devices (desktop, laptop, tablet, mobile). Each user has it's own WireGuard "server".
Pros
- Each user has a different "server" and "peer" key (better security)
- If "server" key need to be changed, you have to update only one user (4 devices in our example), other users are not affected
- Many interfaces, lot of work to configure everything
- Many ports open on the router
- More firewall rules to add and maintain later (means as well more CPU in use)
Other general questions
- What is the best practice for the CPU point of view (one interface vs many)?
- Does a "server" interface use only one CPU or more during encryption/decryption?
- Does many "server" interfaces are used in many CPUs at the same time?
If you have suggestions other "best practices" questions, please share!
(For other technical questions about WireGuard, please open a new topic)
Thanks for your participation!