A Guide for Testing WireGuard with Your Students

Learn to create and configure your own VPN server

Important: Translated automatically from Spanish by 🌐💬 Aphra 1.0.0

I’m back, after quite some time. In fact, this is the first post of 2021. And I’m back because I have something that might interest you. If I didn’t have something worthwhile to share, I wouldn’t have returned.

A few months ago, maybe a year (my perception of time is getting worse by the moment), I heard about WireGuard1 for the first time. And I’ve wanted to try it since then. If you don’t know what it is yet, I’ll tell you. If you already know, skip the next paragraph.

WireGuard is both an application and a communication protocol used to create virtual private networks or, as they’re commonly known by their acronym, VPNs. A concept that has received a lot of attention in recent months, due to the rapid expansion of teleworking. In simple terms, a VPN creates an encrypted tunnel so that a client on the Internet can access a private local network as if they were physically connected to it. This way, you can connect to other devices on that local network and access the Internet using the public IP of that local network. For example, you can leave a hard drive with information connected to the network at your company and access it from home in a secure way. You can also set up a VPN server at your home and connect to it with your mobile or laptop from any public wifi network you access. This way, your internet traffic is encrypted and routed through your home network, protecting it from potential threats on public networks.

Then I came across this course created by Jay Rogers on the ServerSide UP website, and it was so thoroughly explained that I had to ask him to let me do something similar in Spanish for my students.

If you also want to use it with yours, you have it accessible at this link.

It can be especially useful for working on learning outcome 8 of the Network Services2 module of 2ºCFGM SMR3, specifically the criteria:

i) Access to a specific network has been verified from systems connected to a different network.

j) The configuration to access a service located on a machine in a local private network from a public network has been implemented and verified.

Also if you teach the Security and High Availability4 module of 2ºCFGS ASIR5, as it can help you teach learning outcome 3, specifically the criterion:

d) Virtual private networks have been configured using secure protocols at different levels.

Whenever I can, and feel like it, you’ll have me here sharing resources with you.

See you in our next video conference.

Update 07/11/2021: I’ve changed the guide link, this is the original published, modified thanks to the publication about the CodeLab format.


  1. WireGuard is a modern VPN protocol known for its simplicity and efficiency compared to older protocols. ↩︎

  2. “Servicios en Red” is a specific networking module in Spanish vocational IT courses, focusing on network services and administration. ↩︎

  3. 2ºCFGM SMR refers to the second year of a mid-level vocational training program in Microcomputer Systems and Networks in the Spanish education system. ↩︎

  4. “Seguridad y Alta Disponibilidad” is a module that focuses on security and high availability in IT systems, part of advanced vocational training in Spain. ↩︎

  5. 2ºCFGS ASIR refers to the second year of a higher-level vocational training program in Network Computer Systems Administration in the Spanish education system. ↩︎